Tailwind CSS에서 z-index 활용하기tailwind z-index not workingz-index 최상위z-index 안될때z-index 부모 무시

Tailwind CSS에서 z-index 활용하기

KUKJIN LEE
KUKJIN LEE
2024년 7월 15일
482

1. z-Index란 무엇인가?

CSS에서 z-index 속성은 겹치는 요소들의 수직 스택 순서를 제어합니다. 높은 z-index 값을 가진 요소는 낮은 값을 가진 요소 위에 위치합니다. 스택 컨텍스트가 어떻게 형성되는지를 이해하는 것은 z-index를 효과적으로 사용하는 데 필수적입니다.

 

2. Tailwind CSS에서의 z-Index 작동 방식

Tailwind CSS는 유틸리티 클래스를 사용하여 z-index 사용을 간단하게 만듭니다. 커스텀 CSS를 작성하는 대신 z-0, z-10, z-20 등의 미리 정의된 클래스를 HTML에 직접 적용할 수 있습니다. 다음은 간단한 예입니다.

 

<div class="relative z-10">...</div>
<div class="relative z-20">...</div>
<div class="relative z-30">...</div>

 

3. 흔한 실수

Position 속성 누락

z-index 속성은 위치가 지정된 요소(position: relative, absolute, fixed, 또는 sticky)에서만 작동합니다. 이를 잊으면 z-index 값이 적용되지 않는 것처럼 보일 수 있습니다.

 

<!-- 잘못된 예 -->
<div class="z-10">...</div>

<!-- 올바른 예 -->
<div class="relative z-10">...</div>

 

4. z-Index 관리

쉽게 말해서 값을 막 입력하지 말고, 규칙을 만들어 사용하라는 얘기입니다. 극단적인 예시로 z-58, z-182 의미 없는 값을 입력해 z-index값을 혼란스럽게 만들지 말라는 뜻입니다.

  1. Tailwind의 스케일 사용: Tailwind의 미리 정의된 스케일(z-0에서 z-50)을 사용하는 것이 좋습니다. 이는 코드베이스를 일관성 있게 유지하고 관리하기 쉽게 만듭니다.

  2. 레이어링 전략: 프로젝트에 명확한 레이어링 전략을 정의하세요. 예를 들어, 모달이나 툴팁과 같은 중요한 UI 요소를 위해 높은 z-index 값을 예약합니다.

  3. 임의의 값 피하기: 임의의 z-index 값 대신 논리적인 스케일을 사용하세요. 이는 예측 가능한 스택 순서를 유지하는 데 도움이 됩니다.

 

5. 실제 사례

예제 1: 콘텐츠 위에 모달

<div class="relative z-10">메인 콘텐츠</div>
<div class="fixed inset-0 bg-gray-800 bg-opacity-75 z-50">모달 오버레이</div>

 

예제 2: 툴팁과 드롭다운

<button class="relative z-20">툴팁이 있는 버튼</button>
<div class="absolute z-30">툴팁</div>

관련 글

TypeScript any 린트 에러(no-explicit-any) 근본적으로 해결하기

TypeScript 프로젝트에서 @typescript-eslint/no-explicit-any 린트 에러는 단순 규칙 비활성화로 해결할 문제가 아닙니다. 눈 앞 문제는 해결할 수 있지만, TypeScript를 사용하는 가장 중요한 이유를 위배하게 됩니다. any 타입은...

2025년 7월 23일269

JSP 주석, 아직도 `` 쓰시나요? 올바른 사용법

코드를 작성하다 보면 주석을 남기는 경우가 많습니다. 하지만 JSP 환경에서 어떤 주석을 사용하냐에 따라 보안 수준과 성능 이 크게 달라집니다. 표준 주석: 서버 사이드 주석 &lt;%-- --%&gt; JSP 페이지 내 개발 관련 주석은 &lt;%-- --%&gt; 를 사용하는게 좋습니다...

2025년 7월 9일144

쉽게 만드는 React Tab 라이브러리 react-tabs

개발자가 커스텀 스타일을 쉽게 적용할 수 있도록 최소한의 스타일만 제공하여 유연한 스타일링 이 가능한 라이브러리입니다. 상태 관리가 내장되어 있어 탭 선택 및 패널 표시 로직을 직접 구현할 필요 없이 간편하게 사용할 수 있습니다. 기본 사용법 먼저, 라이브러리를 설치합...

2025년 6월 17일173

Next.js 환경 변수 NEXT_PUBLIC 접두사 역할

NEXT_PUBLIC 접두사를 붙이면 변수의 접근 범위가 완전히 달라집니다. 이 차이점을 이해하는 것이 안전하고 효율적인 Next.js 애플리케이션을 구축하는 데 중요합니다. NEXT_PUBLIC 접두사가 없는 환경 변수 (서버 전용) NEXT_PUBLIC 접두사 없이...

2025년 6월 13일156