1

我有一个简单的,我想要一个带有对齐列的可滚动表格。

我试过这个(来自https://stackoverflow.com/a/11483686/1599054):

<table>
    <thead>
        <tr><th>loooooooooooooong</th><th>headers</th></tr>
    </thead>
    <tbody>
        <tr><td>t</td><td>t</td></tr>
        <tr><td>t</td><td>t</td></tr>
        <tr><td>t</td><td>t</td></tr>
    </tbody> </table>

和CSS:

thead { display:block; background: green; margin:0px; cell-spacing:0px; left:0px; }
tbody { display:block; overflow:auto; height:100px; }
th { height:50px; }
td { height:50px; background:blue; margin:0px; cell-spacing:0px;}

你可以在这里看到它:http: //jsfiddle.net/Rfgm2/1/

我的问题是我的内容很小但标题很大,它们是“动态”对齐它们的意思吗?

4

2 回答 2

1

我为你找到了一个可行的例子。您必须使用div和的组合table来实现此目的:

<table cellspacing="0" cellpadding="0" border="0" width="325">
  <tr>
    <td>
       <table cellspacing="0" cellpadding="1" border="1" width="300" >
         <tr>
            <th width="50%" style="word-wrap:break-word;">Short heading</th>
            <th width="50%" style="word-wrap:break-word;">Lonnnnngggeeer heading</th>
         </tr>
       </table>
    </td>
  </tr>
  <tr>
    <td>
       <div style="width:325px; height:48px; overflow:auto;">
         <table cellspacing="0" cellpadding="1" border="1" width="300" >
           <tr>
             <td>col 1 data 1</td>
             <td>col 2 data 1</td>
           </tr>
           <tr>
             <td>col 1 data 2</td>
             <td>col 2 data 2</td>
           </tr>
           <tr>
             <td>col 1 data 3</td>
             <td>col 2 data 3</td>
           </tr>
         </table>  
       </div>
    </td>
  </tr>
</table>

jsFiddle在这里:http: //jsfiddle.net/2ZnWL/1/

于 2013-05-24T22:41:44.183 回答
1

display: block;从中删除,thead然后tbody将它们放在那里,您正在弄乱这些元素的默认样式。

小提琴

于 2013-05-24T22:42:29.583 回答