exc*_*eed 2 html css html5 html-table css-selectors
我有下表:
<table class="table-container">
<thead class="table-heading">
<th>test</th>
<th>test</th>
<th>test</th>
<th>test</th>
</thead>
<tbody class="table-body">
<tr>
<td class="table-column">test</td>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
如果我在css中执行以下操作:
.table-body > tr > td {
padding: 25px;
}
Run Code Online (Sandbox Code Playgroud)
它没有任何问题.
但如果我在css中执行以下操作:
.table-heading > th {
padding: 25px;
}
Run Code Online (Sandbox Code Playgroud)
即使th元素是thead元素的子元素,它也不起作用.有谁知道为什么这不起作用?
你错过了里面的<tr>元素<thead>.现代Web浏览器<tr>动态添加,因此它们.table-heading > th不匹配ths,因为它们不是.table-heading元素的直接后代而是tr.
例如,尝试.table-heading > tr > th选择器.
.table-heading > tr > th {
padding: 25px;
background-color: gold;
}Run Code Online (Sandbox Code Playgroud)
<table class="table-container">
<thead class="table-heading">
<th>test</th>
<th>test</th>
<th>test</th>
<th>test</th>
</thead>
<tbody class="table-body">
<tr>
<td class="table-column">test</td>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)
因为您的HTML无效,并且大多数浏览器通过将<th>s 包装在s中来纠正它<tr>.所以正确的选择器将是:
.table-heading > tr > th {
padding: 25px;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |