CSS에는 position:fixed 라는 속성이 존재하고 이 속성이 부여된 엘리먼트는 화면에 고정되어 스크롤을 해도 움직이지 않고 항상 같은 자리에 머물게 됩니다. 흔히 "스크롤을 따라다니는 배너" 라고 표현하는 이런 UIO(User Interface Object) 따위를 코딩할 때 이 속성을 사용할 수 있는데 보통의 경우 IE6에서 지원하지 않기 때문에 별도의 자바스크립트를 추가하여 이 기능을 구현해 왔습니다. 하지만 이제는 더이상 그럴 필요가 없을것 같습니다. 자바스크립트는 전혀 사용하지 않고 CSS Hack을 사용하여 IE6 에서 position:fixed 상태의 레이어를 구현할 수 있는 팁을 발견하였습니다.
CSS Code
* { margin:0; padding:0;} /* html, body 사이의 간격을 제거 */
html { _overflow:hidden;} /* 기본 스크롤 제거 */
body{ _height:100%; _width:100%; _overflow:auto;} /* 대체 스크롤 생성 */
#content { width:580px; height:1000px; margin:20px; padding:10px; background:#eeeeee;}
#aside { position:fixed; _position:absolute; _z-index:-1; left:650px; top:20px; width:100px; height:300px; padding:10px; background:#dddddd;}
HTML Code
<div id="content">
<h1>Fixed Layer Hack for IE6</h1>
</div>
<div id="aside">
<h2>Example</h2>
</div>
이 팁의 핵심은 <html> 요소에서 발생하는 스크롤을 제거하고 <body> 요소에 스크롤을 부여하는 것입니다. <html> 에 스크롤이 붙으면 <html> 내부의 모든 콘텐트가 스크롤과 함께 움직이지만 <body> 요소로부터 발생한 스크롤은 <html> 요소를 offset(x,y) 기준점으로 삼고있는 #aside 요소의 화면배치에 아무런 영향을 주지 않습니다.
만약 <body> 요소에 position:relative 를 주게 된다면 offset 의 기준점이 <body> 가 되기 때문에 레이어를 화면에 고정할 수 없는 상태로 다시 돌아가게 됩니다. 예제 코드에서 강조 표시된 코드가 관련 코드이며 이 팁의 내용을 더욱 자세하게 이해하고 싶으시면 관련 CSS 속성을 하나씩 제거하면서 테스트 해보시기 바랍니다.
브라우저 호환정보
- Firefox2, Opera9, Safari2, IE6~7 에서 모두 동일하게 position:fixed 형태로 렌더링 합니다.
- IE5.0~IE5.5 버전의 브라우저에서는 position:absolute 형태로 렌더링 합니다.
- DTD가 Quirks Mode 상태일 때에는 적용되지 않습니다.
발견된 문제점
- 현재 코드는 IE6 핵으로서 #aside 영역에 _z-index:-1 속성을 사용하였기 때문에 IE6 에서는 #aside 영역의 텍스트를 자연스럽게 드래그 하거나 링크를 클릭할 수 없습니다. 다른 브라우저에서는 발생하지 않는 현상입니다.
- 한편 _z-index:-1 을 제거하게 되면 텍스트를 드래그 하거나 링크를 클릭하는 것이 가능하지만 화면크기를 줄였을 때 #aside 레이어가 세로 스크롤바를 덮는 현상이 발생합니다. 이 문제 역시 IE6 에서만 발생하는 현상입니다.
참조
이 저작물은 크리에이티브 커먼즈의 2.0 라이센스(저작자표시, 비영리, 변경금지)에 따라 이용하실 수 있습니다.
댓글 1개
발견된 문제점이 크리티컬이네요~~
써먹기엔 좀 곤란한듯....ㅎ
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7830 | 10년 전 | 461 | ||
| 7829 |
|
10년 전 | 648 | |
| 7828 | 10년 전 | 572 | ||
| 7827 | 10년 전 | 474 | ||
| 7826 | 10년 전 | 496 | ||
| 7825 | 10년 전 | 528 | ||
| 7824 | 10년 전 | 487 | ||
| 7823 | 10년 전 | 429 | ||
| 7822 | 10년 전 | 405 | ||
| 7821 | 10년 전 | 347 | ||
| 7820 | 10년 전 | 370 | ||
| 7819 |
|
10년 전 | 768 | |
| 7818 | 10년 전 | 428 | ||
| 7817 | 10년 전 | 607 | ||
| 7816 | 10년 전 | 446 | ||
| 7815 | 10년 전 | 640 | ||
| 7814 | 10년 전 | 478 | ||
| 7813 | 10년 전 | 434 | ||
| 7812 | 10년 전 | 442 | ||
| 7811 | 10년 전 | 419 | ||
| 7810 | 10년 전 | 622 | ||
| 7809 | 10년 전 | 553 | ||
| 7808 | 10년 전 | 434 | ||
| 7807 | 10년 전 | 442 | ||
| 7806 |
프로그래머7
|
10년 전 | 1364 | |
| 7805 | 10년 전 | 1309 | ||
| 7804 |
zahir1312
|
10년 전 | 805 | |
| 7803 |
|
10년 전 | 1405 | |
| 7802 | 10년 전 | 506 | ||
| 7801 | 10년 전 | 885 | ||
| 7800 | 10년 전 | 1111 | ||
| 7799 | 10년 전 | 594 | ||
| 7798 | 10년 전 | 541 | ||
| 7797 | 10년 전 | 561 | ||
| 7796 | 10년 전 | 397 | ||
| 7795 | 10년 전 | 549 | ||
| 7794 | 10년 전 | 591 | ||
| 7793 | 10년 전 | 1089 | ||
| 7792 | 10년 전 | 517 | ||
| 7791 | 10년 전 | 611 | ||
| 7790 | 10년 전 | 534 | ||
| 7789 |
fbastore
|
10년 전 | 1486 | |
| 7788 | 10년 전 | 591 | ||
| 7787 | 10년 전 | 448 | ||
| 7786 | 10년 전 | 654 | ||
| 7785 | 10년 전 | 628 | ||
| 7784 | 10년 전 | 692 | ||
| 7783 | 10년 전 | 512 | ||
| 7782 | 10년 전 | 535 | ||
| 7781 | 10년 전 | 938 | ||
| 7780 | 10년 전 | 847 | ||
| 7779 | 10년 전 | 799 | ||
| 7778 | 10년 전 | 392 | ||
| 7777 | 10년 전 | 506 | ||
| 7776 | 10년 전 | 500 | ||
| 7775 | 10년 전 | 437 | ||
| 7774 | 10년 전 | 647 | ||
| 7773 | 10년 전 | 403 | ||
| 7772 | 10년 전 | 778 | ||
| 7771 | 10년 전 | 436 | ||
| 7770 | 10년 전 | 674 | ||
| 7769 | 10년 전 | 434 | ||
| 7768 | 10년 전 | 655 | ||
| 7767 | 10년 전 | 1207 | ||
| 7766 | 10년 전 | 536 | ||
| 7765 | 10년 전 | 595 | ||
| 7764 |
잘살아보자
|
10년 전 | 455 | |
| 7763 |
|
10년 전 | 1503 | |
| 7762 |
Tosea
|
10년 전 | 1088 | |
| 7761 | 10년 전 | 692 | ||
| 7760 |
잘살아보자
|
10년 전 | 765 | |
| 7759 |
잘살아보자
|
10년 전 | 603 | |
| 7758 |
잘살아보자
|
10년 전 | 660 | |
| 7757 | 10년 전 | 1289 | ||
| 7756 |
ITBANK
|
10년 전 | 1290 | |
| 7755 | 10년 전 | 1945 | ||
| 7754 | 10년 전 | 1103 | ||
| 7753 | 10년 전 | 922 | ||
| 7752 | 10년 전 | 1423 | ||
| 7751 |
잘살아보자
|
10년 전 | 581 | |
| 7750 |
잘살아보자
|
10년 전 | 510 | |
| 7749 |
잘살아보자
|
10년 전 | 535 | |
| 7748 |
잘살아보자
|
10년 전 | 561 | |
| 7747 |
잘살아보자
|
10년 전 | 639 | |
| 7746 |
잘살아보자
|
10년 전 | 701 | |
| 7745 |
잘살아보자
|
10년 전 | 950 | |
| 7744 |
잘살아보자
|
10년 전 | 441 | |
| 7743 | 10년 전 | 972 | ||
| 7742 |
starbros
|
10년 전 | 865 | |
| 7741 |
잘살아보자
|
10년 전 | 708 | |
| 7740 |
잘살아보자
|
10년 전 | 598 | |
| 7739 |
잘살아보자
|
10년 전 | 487 | |
| 7738 |
잘살아보자
|
10년 전 | 564 | |
| 7737 |
잘살아보자
|
10년 전 | 542 | |
| 7736 |
잘살아보자
|
10년 전 | 562 | |
| 7735 |
잘살아보자
|
10년 전 | 899 | |
| 7734 |
잘살아보자
|
10년 전 | 454 | |
| 7733 |
잘살아보자
|
10년 전 | 566 | |
| 7732 |
잘살아보자
|
10년 전 | 731 | |
| 7731 |
잘살아보자
|
10년 전 | 655 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기