티스토리 뷰

Web-Frontend/CSS

Html 테이블 해더 고정하기

YCPark YCPark 2011. 7. 29. 10:57

<link href="../Css/forecastTable.css" rel="stylesheet" type="text/css" >

.tr_table_fix_header
{
 position: relative;
 top: expression(this.offsetParent.scrollTop);
 z-index: 20;
}

</link>

 

<div>
<table>
 <tr class="tr_table_fix_header">
  <td>번호</td>
  <td>제목</td>
  <td>작성자</td>
 </tr>
 <tr>
  <td>1.</td>
  <td>테이블 해더 스크롤 고정</td>
  <td>한연석</td>
 </tr>
</table>
</div>

 

스타일 속성 중 top: expression(this.offsetParent.scrollTop); 부분이 테이블 헤더를 고정 시켜주는 속성입니다. 자신의 offsetParent 객체를 지정하여 offsetParent 의 scrollTop 스크롤 수치 만큼 <tr> 태그를 이동시킵니다. 속성 중 position: relative; 부분도 반드시 지정되어야 하는 부분입니다.

테이블 헤더를 이동 시키는 것을 약간 변경하면 Column에 대한 고정도 가능합니다.

.td_table_fix_white_fc
{
 position: relative;
 left: expression(this.offsetParent.firstChild.scrollLeft);
 z-index: 10;
}

헤더를 고정시켰던 클래스와 별차이 없으며, left: expression(this.offsetParent.firstChild.scrollLeft);
 부분만 약간 틀립니다. Top과 달리 해당 스타일은 Td에 정의 되기 때문에 offsetParent.firstChild으로 <div> 객체를 찾아 <div> 객체의 scrollLeft 속성 값을 설정합니다.

 

offsetParent : 자신의 부모 객체를 가져옵니다.

<tr>에서는 <table>의 부모객체를 가져옵니다. 위 예에서는 <table>을 감싸고 있는 <div> 객체를 가져옵니다. [div>table>tr]에서 tr의 offsetParent 는 div를 가져옵니다.

<td>에서는 <table>의 부모 객체를 가져옵니다. [table>tr>td>div>table>tr>td>]의 구조로 되어 있는 순서에서 두번째 td의 offsetParent 는 첫번째 td를 가져옵니다. 여기서 offsetParent 의 firstChild는 div 객체를 가져오게 됩니다.


'Web-Frontend > CSS' 카테고리의 다른 글

textarea 가로 고정  (0) 2017.06.19
Bootstrap4를 사용한 Masonry gird  (0) 2017.04.07
TD 폭에 맞추어 자동 줄바꿈  (1) 2011.07.29
Html 테이블 해더 고정하기  (0) 2011.07.29
댓글
댓글쓰기 폼
공지사항
Total
211,950
Today
4
Yesterday
5
«   2020/01   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
글 보관함