2013-07-31 151 views
8

我的筆:HTML表格固定頭和垂直滾動條上的表體

http://codepen.io/helloworld/pen/qHDFB

我想創建一個HTML表:

  • 隨着保持固定
  • 顯示滾動條的表格主體
  • 高度不應具有固定的像素高度,它應具有100%的高度。
  • 標題單元格應該與行單元格對齊。我提到這一點,因爲我經常看到解決方案,其中column1水平地輸入header2的區域。這看起來很糟糕。
  • 當列的寬度爲百分比但不包含像素時,對我來說還可以,因爲那樣不會響應。
  • 性能不起作用,它將顯示最多16行appr。最多7列。

我只想使用CSS。

它應該在IE10 +和最新的FF/Chrome中工作。

您還可以從Microsoft將被移植到WebKit的等等......與-MS-電網等使用新的CSS網格佈局...

我怎樣才能使上述各樣品的工作,該標頭保持不變,並且表格的主體具有垂直滾動條而不是html主體本身?

HTML

<table> 
    <thead> 
    <tr> 
     <th> 
     <div>First</div> 
     </th> 
     <th> 
     <div>Second</div> 
     </th> 
     <th> 
     <div>Third</div> 
     </th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr> 
    <tr> 
     <td>First</td> 
     <td>Second</td> 
     <td>Third</td> 
    </tr>     
    </tbody> 
</table> 

CSS

body, html{ 
    margin:0; 
    padding:0; 
    height:100%; 
    width:100%; 
} 

table{ 
    width:100%; 
    height:100%; 
} 

td{ 
    width:33%; 
    border:black solid 1px; 
} 

tbody{ 
    overflow-x:hidden; 
    overflow-y:auto; 
} 

tr td{ 
    text-align:center; 
    height:100px; 
} 

th{ 
    background:lightgray; 
    padding:10px; 
    border:black solid 1px; 
} 
+0

'div'可以包住桌子,而div有固定的高度嗎?否則,我不知道如何使用滾動條,同時給它100%的高度。 –

+0

這不會是根據我的需要。你可以假設:divWrapper有100%的高度:裏面是2個div。 toolbarDiv有40%的高度,tableDiv有100%的高度。裏面的桌子是固定的桌子有固定高度的行,這應該使整個桌子也固定,但仍然伸展到底部 – Elisabeth

+1

對不起,以前的評論是錯誤的鏈接:http://codepen.io/anon/pen/CLaFs –

回答

-1
 <table> 
      <thead> 
       <tr> 
        <th> 
         <div>First</div> 
        </th> 
        <th> 
         <div>Second</div> 
        </th> 
        <th> 
         <div>Third</div> 
        </th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr> 
       <tr> 
        <td>First</td> 
        <td>Second</td> 
        <td>Third</td> 
       </tr>     
      </tbody> 
     </table> 
+1

你想添加別的東西嗎?在這裏沒有很好地接受代碼的答案。您還應該描述/解釋爲什麼/您的代碼如何解決問題。 – ZygD