HTML · CSS · JavaScript · React · Git
CSS · 원인 분석형 · 2026년 6월 30일 공개 · 2026년 8월 10일 검토

z-index가 적용되지 않을 때 확인할 것

z-index 값을 크게 줬는데도 모달이나 메뉴가 다른 요소 뒤에 가려지는 상황

CSS z-index가 적용되지 않을 때 확인할 것
  1. 문제 상황 확인
  2. 짧은 코드로 재현
  3. 브라우저에서 결과 점검
z-index가 적용되지 않을 때 확인할 것를 실습할 때 확인할 흐름입니다.

z-index가 적용되지 않을 때 확인할 것에서 먼저 볼 부분

z-index는 숫자만 크게 준다고 항상 이기지 않습니다. position과 stacking context를 함께 봐야 합니다.

z-index는 position이 적용된 요소에서 의미 있게 동작하는 경우가 많습니다. static 상태에서는 기대처럼 작동하지 않을 수 있습니다.

부모 요소가 새로운 쌓임 맥락을 만들면 자식의 z-index가 아무리 커도 부모 바깥 요소를 이기지 못할 수 있습니다.

모달, 드롭다운, 고정 헤더는 겹침 문제가 자주 생깁니다. 레이어 순서를 미리 정해두면 유지보수가 편합니다.

모달과 배경 레이어

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 10;
}
.modal {
  position: fixed;
  z-index: 20;
}

이 예제는 그대로 복사해서 확인하는 것보다 한 줄씩 바꿔보는 쪽이 더 도움이 됩니다. 태그 이름, 선택자, 변수 이름, 함수 실행 위치를 조금씩 바꾸면 어떤 부분이 결과에 영향을 주는지 직접 확인할 수 있습니다.

잘못 작성했을 때 나타나는 흐름

CSS 글은 속성 하나만 외우기보다 부모 요소와 자식 요소의 관계를 같이 확인하는 방식으로 읽는 것이 좋습니다.

스타일이 적용되지 않을 때는 개발자 도구에서 어떤 규칙이 취소선 처리되는지 먼저 보면 원인을 빠르게 좁힐 수 있습니다.

모바일 화면에서는 고정 너비, 긴 코드, margin 조합이 문제를 만들기 쉬우므로 작은 화면 기준까지 함께 확인해야 합니다.

브라우저에서 직접 확인하는 순서

먼저 화면에 나타나는 결과를 보고, 그다음 코드에서 방금 수정한 부분을 확인하세요. 결과가 예상과 다르다면 콘솔 오류, 파일 경로, 선택자 이름, 태그 닫힘, 실행 순서 중 하나가 흔한 원인입니다.

초보 단계에서는 정답 코드를 한 번에 외우기보다 실패한 코드와 수정한 코드를 나란히 비교하는 방식이 좋습니다. 이 글의 예제를 기준으로 작은 값을 바꿔보면 다음 글을 읽을 때도 기준이 더 선명해집니다.

실습 후 점검할 항목

  • position 값이 static이 아닌지 확인하기
  • 부모 요소가 stacking context를 만드는지 확인하기
  • z-index 숫자 체계를 정해두기
  • 모달과 오버레이 순서를 함께 테스트하기

작성 기준

AG FE Guide는 프론트엔드 입문자가 실제 학습 중 만나는 문제를 기준으로 예제와 확인 순서를 정리합니다. 본문은 공식 문서와 브라우저 동작 기준을 함께 참고해 주기적으로 검토합니다.