我想构建一个表如下:
| Major Heading 1 | Major Heading 2 |
| Minor1 | Minor2 | Minor3 | Minor4 |
----------------------------------------------
| col1 | col2 | col3 | col4 |
rest of table ...
Run Code Online (Sandbox Code Playgroud)
看看TH元素只有一行,如何构造标题行,如列排列?分层表似乎不是一个好的选择,因为列宽不会排列,我也不能使用带有colspan的TH标签的两行.
tva*_*son 94
我就是这样做的(在http://jsfiddle.net/7pDqb/上工作小提琴)在Chrome中测试过.
th, td { border: 1px solid black }Run Code Online (Sandbox Code Playgroud)
<table>
<thead>
<tr>
<th colspan="2">Major 1</th>
<th colspan="2">Major 2</th>
</tr>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
</tr>
</thead>
<tbody>
<tr>
<td>data1</td>
<td>data2</td>
<td>data3</td>
<td>data4</td>
</tr>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)
rin*_*t.6 21
你不小心使用rowspan而不是colspan?或者您是否意外忘记了结束</tr>标签?
延伸tvanfosson的答案,我将元素的scope属性th用于语义和可访问性目的:
th, td { border: 1px solid black }Run Code Online (Sandbox Code Playgroud)
<table>
<thead>
<tr>
<th colspan="2" scope='colgroup'>Major Heading 1</th>
<th colspan="2" scope='colgroup'>Major Heading 2</th>
</tr>
<tr>
<th scope='col'>Minor1</th>
<th scope='col'>Minor2</th>
<th scope='col'>Minor3</th>
<th scope='col'>Minor4</th>
</tr>
</thead>
<tbody>
<tr>
<td>col1</td>
<td>col2</td>
<td>col3</td>
<td>col4</td>
</tr>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)
然而,除了跨越多个列的标题单元的情况之外,还经常看到具有跨越两行的标题单元的表.
这是一个例子.见col 5及data5以下:
<table>
<thead>
<tr>
<th colspan="2">Major 1</th>
<th colspan="2">Major 2</th>
<th rowspan="2">col 5</th>
</tr>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
</tr>
</thead>
<tbody>
<tr>
<td>data1</td>
<td>data2</td>
<td>data3</td>
<td>data4</td>
<td>data5</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
这是小提琴.
| 归档时间: |
|
| 查看次数: |
83205 次 |
| 最近记录: |