a

[css] z-index 초기값 auto 사용 주의

· 2011-12-30 (금) 04:51:23 · 2194
z-index의 초기값 auto는 0이 아닙니다. 다만 구형 IE 브라우저는 0인것처럼 작동되는 버그가 있으나, 마치 이러한 동작이 정상인줄 알고 계시는 분이 더러 있습니다. 지정하지 않은 z-index는 0이 아니라 auto입니다.

auto인 경우 자식내에 어떠한 다른 요소가 z-index 값이 있다면 부모를 무시하고 자신이 다른 z-index 값을 가진 것과 동일 선상에서 비교합니다. 만일 이때 부모가 0이라면 부모는 다른 부모와 비교하여 우선이 결정되지 자식이 관여하지 않습니다. 그러나 auto인 경우 자식은 부모를 생각하지 않고 자신의 z-index 값으로 다른 요소의 z-index와 비교하려 합니다. 

이러한 동작을 잘 이해하지 않는다면 보통 auto가 아닌 0으로 놓으면 만족스러운 결과가 될지 모르겠지만, 해당 요소내의 자식이 다른 것들에 대한 z-index로 우선 위치를 결정하지 못한다는 제약을 받게 됩니다.

해당 내용은 css2에서 css2.1로 바뀌며 변경된 내용을  담고 있기에 차이가 있습니다. 또한 음의 값인 경우, body의 배경과 content 사이에 위치할 수 있도록 바뀌었으나, 그 이전에는 body에 가려 뒤로 가게 되는 구형 브라우저 처리도 있습니다. 비슷하게 컨텐츠와 배경사이에 껴들아갈 수 있는 경우가 float에서 음의 마진 사용시 발생하는데, 이또한 CSS2.1에서 변경된 부분으로 구형 IE 브라우저는 이러한 결과를 보이지 않습니다.  

마지막으로 z-index의 중첩시 transparent에 대한 IE 처리는 독특합니다. 투명한 경우 뒤에 있는 내용을 의미상 가렸지만 선택이 가능해집니다. 

|
댓글을 작성하시려면 로그인이 필요합니다.

팁게시판

6,077건

디자인과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
제목 글쓴이 날짜 조회
12-02-16 조회 2,338
12-02-03 조회 1,249
12-01-31 조회 1,013
12-01-24 조회 1,070
12-01-17 조회 1,893
12-01-05 조회 1,455
11-12-30 조회 946
11-12-23 조회 2,466
11-12-08 조회 1,211
11-12-07 조회 2,167
11-11-27 조회 1,767
11-11-25 조회 1,989
11-11-23 조회 1,398
11-11-22 조회 1,413
11-11-09 조회 1,255
11-10-23 조회 1,299
11-10-19 조회 1,335
11-10-08 조회 1,098
11-10-04 조회 979
11-10-04 조회 3,325
11-09-01 조회 2,666
11-08-13 조회 971
11-08-06 조회 1,685
11-07-11 조회 2,039
11-06-27 조회 1,487