z-index와 스태킹 컨텍스트(쌓임 맥락)
🎯 이 문서를 읽고 난 후의 상태
z-index
와스택 컨텍스트
가 무엇인지 안다.z-index
와스택 컨텍스트
를 활용하여 요소들을 어떻게 배치할 수 있는지 안다.css
에서스택 컨텍스트
가 어떤 역할을 하는 지 이해하고, 화면 구성을 보다 효과적으로 할 수 있다.
📚 계기
캔버스와 네이버 지도 API를 연동하기 위한 과정 에서, 이벤트를 깊게 다룰일이 생겼었다.
이 과정에서, z-index
와 스택 컨텍스트
를 제대로 이해하지 못해, 어려움을 겪게 되었고 이에 대해 공부하게 되었다.
🤔 쌓임 맥락(Stacking Context)란?
z-index
를 이해하기 위해서는 쌓임 맥락(Stacking Context)
를 이해해야 한다.
쌓임 맥락(Stacking Context)이란 특정 요소(Parent Element)와 그 자식 요소(Child
Element)들이 특정 규칙에 따라 겹쳐지는 방식을 정의하는 독립된 렌더링 계층을 쌓임 맥락(Stacking Context)
라고 한다.
쉽게 말하면, 사용자 가 모니터를 바라보는 것을 기준으로 가상의 z축을 생성하여 HTML 요소들을 3차원 개념으로 보는 것을 말한다.
조금 더 쉽게 설명하면, 사용자 입장에서 모니터를 보았을 때 화면에 요소들을 어떻게 겹쳐서 배치할까..? 어떻게 쌓아서 겹친 모습을 연출할까? 하는 개념이 쌓임 맥락이라고 볼 수 있다.
결국 쌓임 맥락을 형성한다는 것은 요소들을 쌓는 방법을 결정한다는 것을 의미한다.
🤔 쌓임 맥락(Stacking Context)는 왜 중요할까?
쌓임 맥락(Stacking Context)
은 웹 개발, 특히 CSS에서 요소들이 화면에 어떻게 겹쳐지고 렌더링되는 지를 결정하는 중요한 개념이다.
z-index
속성을 사용하여 요소들을 겹치게 할 때, 쌓임 맥락
이 없다면, 요소들이 어떻게 겹쳐지는 지 예측하기 어렵다.
쌓임 맥락
은 요소들을 겹치는 방법을 결정하며, 이를 통해 요소들이 어떻게 겹쳐지는 지를 예측할 수 있다.
조금 더 자세하게 서술하기 위해 GPT의 힘을 빌렸다. 중요성에 대해서는 아래와 같다.
중요성 | 설명 |
---|---|
레이어 관리의 효율성 | 웹 페이지는 수많은 요소들이 서로 겹쳐져 복잡한 레이아웃을 형성한다. 이때 쌓임 맥락을 이해하면 특정 요소가 다른 요소들 위나 아래에 위치하도록 정밀하게 제어할 수 있다. |