찾다
웹 프론트엔드CSS 튜토리얼CSS에서 Z- 인덱스 마스터 링

CSS의 이 기사는 CSS의

속성을 ​​탐색하며, 이는 캐스케이드 페이지 요소의 계단식 순서를 제어하는 ​​데 사용됩니다. 값이 높은 요소는 값이 낮은 요소에 표시됩니다. 이는 요소의 수평 및 수직 위치를 각각 제어하는 ​​페이지의 X 축 및 Y 축과 유사하며

Z 축에서 요소의 스태킹 순서를 제어합니다. z-index z-index

키 포인트 :

Mastering z-index in CSS

속성은 페이지 요소의 스태킹 순서를 제어할수록 요소가 더 많이 표시됩니다. 속성 값이 ,

또는

인 요소에서만 작동합니다.
  • 를 설정하여 , z-index, position, , absolute 또는 relative에 값을 할당하지 않고 설정하면 원래 위치를 변경하지 않고 요소의 스태킹 순서를 제어 할 수 있습니다. 페이지. fixed
  • 값의 구문 분석은 부모 스태킹 컨텍스트 내에서 수행됩니다. 즉, 요소의 조직과 유연성을 향상 시키려면 position: relative 값을 설정하기 위해 100의 증분을 사용하는 것이 좋습니다. 이 접근법은 두 개의 기존 레이어 사이에 새 레이어를 추가 할 때 사용 가능한 수치 선택을 제공합니다. top right 기본 스태킹 순서 html을 작성할 때 문서의 후면 요소가 기본적으로 전면 요소 위에 쌓입니다. bottom left 이 HTML 스 니펫에서 모든 요소가 겹치도록 설정되면 바닥 글이 신체 함량 위에 쌓여있어 헤더 위에 쌓입니다. 는 ,
  • , , z-index, z-index, > 속성을 ​​결합하여 겹칠 수 있습니다. z-index
  • 각 요소의 속성이
  • 로 설정되면 모두 겹치게됩니다. 바닥 글은 문서에 마지막으로 나타나기 때문에 기본적으로 처음 두 요소 위에 쌓입니다. z-index
  • 오프셋 속성을 사용하여

> 요소의 스태킹 순서를보다 명확하게 확인하십시오.

스택 컨텍스트 중첩 요소는 를 사용하여 생성 할 수 있지만, 소위

스태킹 컨텍스트 를 만들지는 않습니다.

스태킹 컨텍스트는 다음과 같은 방식으로 생성 될 수 있습니다.
<header class="site-header"></header>
<main class="site-content"></main>
<footer class="site-footer"></footer>
요소는 속성을 ​​가지며 Flexbox 항목에는

가 아닌 값이 있습니다. position 요소 ()의 불투명도는 1보다 작습니다. top 요소의 right 속성은 비 bottom left 스태킹 컨텍스트를 생성하고 사용하는 일반적인 방법은 첫 번째입니다.

이전 예제로 돌아가서, 우리는 서로 겹치는 세 가지 요소가 있지만 현재는

값이 없습니다. z-index

속성을 ​​사용하면 스태킹 순서를 제어 할 수 있습니다.

바닥 글을 1로, 본체 2로, 헤더 z-index를 3으로 설정하면 기본 스태킹 순서를 완전히 되돌릴 수 있습니다.

표면에서는 간단 해 보입니다. 값이 높을수록 요소 스택이 높아집니다. 그래서

는 항상 z-index 이상입니다. 불행히도, 현실은 이것보다 더 복잡합니다. z-index 스태킹 컨텍스트에서 z-index

컨테이너 내부에 상자를 추가하여 오른쪽 하단 모서리 외부에 배치하면 핑크 박스 아래에 녹색 상자 위에 놓여 있습니다.

z-index z-index: 9999에 대한 우리가 알고있는 것에 기초하여, 우리는이 노란색 상자를 핑크 박스 위에 표시하기 위해 에 대해 더 높은 값을 설정하면됩니다. z-index: 9 우리가

4로 설정하면 (위 )는 아무런 변경 사항이 없습니다. 사람들은 보통 매우 많은 숫자 (9999와 같이)로 쌓는 것을 강요하려고하지만 이것은 효과가 없습니다. 코드 기반에서 볼 수있는

값은 코드 냄새이므로 가능한 경우 피하십시오.

핑크 박스 위에 놓인 노란색 상자가 예상되는 결과를 얻을 수없는 이유는
<header class="site-header"></header>
<main class="site-content"></main>
<footer class="site-footer"></footer>
가 스태킹 컨텍스트에서 동작하는 방식 때문입니다.

이를 보여주기 위해 MDN 웹 사이트에서 빌린 약간 더 복잡한 예를 살펴 보겠습니다. site-content ... (MDN 예제의 HTML 및 CSS 코드는 기사가 너무 길지만 주요 설명 부분이 유지되므로 여기서 생략됩니다) ....

이 모든 것은 부모 스태킹 컨텍스트 내에서 모든 값이 구문 분석된다는 사실에 의해 설명 될 수 있습니다. 상위 컨테이너 의 값은 바닥 글보다 높기 때문에
.site-header, .site-content, .site-footer {
  position: absolute;
  width: 400px;
  padding: 20px;
}
.site-header {top: 0; left: 0;}
.site-content {top: 50px; left: 50px;}
.site-footer {top: 100px; left: 100px;}
내의 모든 포지셔닝 요소는 해당 컨텍스트에서 평가됩니다.

스태킹 컨텍스트 내에서 요소의 스태킹 순서를 이해하면 중첩 된 주문 목록의 어린이와 비교할 수 있습니다. z-index 이것은 다음과 같이 쓸 수 있습니다 : z-index 헤더 :

주제 : 박스 1 :

Box 2 : z-index z-index: 3 Box 3 : z-index

바닥 글 : z-index

따라서 헤더의 가 5이고 상자 1의 가 6이더라도 렌더링 순서는 4.6이며 여전히 5 미만입니다. 따라서 박스 1은 헤더 아래에 표시됩니다.

처음에는 약간 혼란 스러웠지만 연습과 함께 실제로 말이되기 시작했습니다!

z-index는 위치 요소 에만 적합합니다 요소의 스태킹 순서를 제어하려면

를 사용할 수 있습니다. 그러나 는 요소의 , z-index 또는 인 경우에만 적용됩니다. position absolute로 요소를 정확하게 넣는 것은 복잡한 레이아웃이나 흥미로운 UI 패턴을 구축하는 데 적합하지만 페이지의 원래 위치에서 요소를 움직이지 않고 스태킹 순서를 제어하는 ​​것이 종종 바람직합니다. relative 이 경우 만 설정할 수는 있지만 , , fixed 또는 z-index에 대한 값을 제공하지 마십시오. 요소는 페이지의 원래 위치에 유지되며 문서 흐름이 중단되지 않으며 음의 z- 인덱스 값을 사용할 수 있습니다 수화 된 요소는 종종 복잡한 모양 또는 UI 구성 요소를 구축하는 데 사용됩니다. 이것은 일반적으로 요소가 서로 겹쳐지고

값이 계속 증가 함을 의미합니다. 다른 요소 아래에 요소를 배치하려면 position 값이 낮아야하며 음수 일 수 있습니다.

이것은 의사 요소를 사용할 때 유용하며 부모 요소 내용 뒤에 배치하려고합니다.

스테이킹 컨텍스트가 작동하는 방식으로 인해 또는 position: relative 요소가 부모 요소의 텍스트 내용 후에 배치되면 값을 설정해야합니다. top z- 인덱스 전략 내 프로젝트에서 right를 적용 할 때 사용한 간단한 전략을 요약하겠습니다. bottom 우리는 값의 단일 자릿수 증분을 사용했지만 left와 로 설정된 두 요소 사이에 새 요소를 추가하려면 어떻게해야합니까? 코드 기반 전체에 걸쳐 많은 값을 변경해야하므로 문제를 일으킬 수 있으며 웹 사이트의 다른 부분에서 CSS가 중단 될 수 있습니다. z-index 100 단계 로 z-index를 설정하십시오 를 다룰 때, 당신은 종종 다음과 같은 코드를 볼 수 있습니다 :

.

내 의견으로는 나쁘게 보입니다. 그러한 값을 보면 일반적으로 개발자가 스태킹 컨텍스트를 이해하지 못하고 하나의 층이 다른 층 위에 있도록 강제하려고합니다.

9999, 53 또는 12와 같은 숫자를 사용하는 대신 비율을 체계화하고 프로세스에 더 많은 순서를 가져올 수 있습니다. 개발자 강박 장애가 있기 때문이 아닙니다. 진지하게.

나는 z-index의 단일 자리 증분을 사용하지 않았지만 100 단위를 사용했습니다. z-index 나는 이것을 정리하기 위해 이것을했으며 프로젝트에 사용 된 많은 다른 계층을 발견했습니다. 또 다른 이점은 두 레이어 사이에 새 레이어를 추가 해야하는 경우 99 개의 잠재적 값 중에서 선택할 수 있다는 것입니다. 이 수동 접근 방식은 시스템을 구축 할 때 매우 신뢰할 수 있지만 Sass와 같은 전처리 자와 함께 사용하면보다 유연하게 만들 수 있습니다.

... (FAQ 부품은 이전 출력에 더 반복적이기 때문에 여기서 생략) ...

Mastering z-index in CSS

위 내용은 CSS에서 Z- 인덱스 마스터 링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
CSS 그리드는 무엇입니까?CSS 그리드는 무엇입니까?Apr 30, 2025 pm 03:21 PM

CSS 그리드는 복잡하고 반응이 좋은 웹 레이아웃을 만드는 강력한 도구입니다. 디자인을 단순화하고 접근성을 향상 시키며 이전 방법보다 더 많은 제어를 제공합니다.

CSS Flexbox 란 무엇입니까?CSS Flexbox 란 무엇입니까?Apr 30, 2025 pm 03:20 PM

기사는 반응 형 설계에서 공간의 효율적인 정렬 및 분포를위한 레이아웃 방법 인 CSS Flexbox에 대해 설명합니다. Flexbox 사용을 설명하고 CSS 그리드와 비교하고 브라우저 지원 세부 사항을 설명합니다.

CSS를 사용하여 웹 사이트를 반응하게 만드는 방법은 무엇입니까?CSS를 사용하여 웹 사이트를 반응하게 만드는 방법은 무엇입니까?Apr 30, 2025 pm 03:19 PM

이 기사는 Viewport Meta 태그, 유연한 그리드, 유체 미디어, 미디어 쿼리 및 상대 장치를 포함하여 CSS를 사용하여 반응 형 웹 사이트를 만드는 기술에 대해 설명합니다. 또한 CSS 그리드 및 Flexbox를 함께 사용하여 CSS 프레임 워크를 권장합니다.

CSS 박스 크기 부동산은 무엇을합니까?CSS 박스 크기 부동산은 무엇을합니까?Apr 30, 2025 pm 03:18 PM

이 기사는 요소 치수 계산 방법을 제어하는 ​​CSS 박스 크기 속성에 대해 설명합니다. Content-Box, Border-Box 및 Padding-Box와 같은 값과 레이아웃 설계 및 형태 정렬에 미치는 영향을 설명합니다.

CSS를 사용하여 어떻게 애니메이션 할 수 있습니까?CSS를 사용하여 어떻게 애니메이션 할 수 있습니까?Apr 30, 2025 pm 03:17 PM

기사는 CSS, 주요 특성 및 JavaScript와 결합 된 애니메이션 작성에 대해 논의합니다. 주요 문제는 브라우저 호환성입니다.

CSS를 사용하여 프로젝트에 3D 변환을 추가 할 수 있습니까?CSS를 사용하여 프로젝트에 3D 변환을 추가 할 수 있습니까?Apr 30, 2025 pm 03:16 PM

기사는 3D 변환, 주요 속성, 브라우저 호환성 및 웹 프로젝트에 대한 성능 고려 사항에 대한 CSS 사용에 대해 논의합니다. (문자 수 : 159)

CSS에 기울기를 추가 할 수있는 방법은 무엇입니까?CSS에 기울기를 추가 할 수있는 방법은 무엇입니까?Apr 30, 2025 pm 03:15 PM

이 기사는 CSS 그라디언트 (선형, 방사형, 반복)를 사용하여 웹 사이트 비주얼을 향상시키고 깊이, 초점 및 현대적인 미학을 추가합니다.

CSS의 의사 요소는 무엇입니까?CSS의 의사 요소는 무엇입니까?Apr 30, 2025 pm 03:14 PM

기사는 CSS의 의사 요소, HTML 스타일을 향상시키는 데 사용 및 의사 급의 차이점에 대해 설명합니다. 실제 사례를 제공합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경