我有一个带有<thead>
++的 HTML<tbody>
表格<tfoot>
。我<tfoot>
只需要在<tbody>
没有行时显示。我知道如何用 JS/jQuery 来做,但也许有一个纯 CSS 解决方案?
问问题
2667 次
2 回答
8
利用:empty
演示(tfoot
在tbody
没有行时显示)
table tbody:empty + tfoot {
display: table-footer-group;
}
table tbody + tfoot {
display: none;
color: red;
}
有内容tfoot
时隐藏tbody
table tbody:not(:empty) + tfoot {
display: block;
}
table tbody + tfoot {
display: none;
color: red;
}
解释:
修改太多,我只想提供 2 个选择器,第一个是table tbody:empty + tfoot
选择IS EMPTYtfoot
时,第二个是IS NOT空时选择。tbody
table tbody:not(:empty) + tfoot
tfoot
tbody
注意:我使用
+
的是相邻选择器,所以如您所见,我有tfoot
元素,在tbody
元素之后,如果它tbody
比您需要使用的之前JS
或jQuery
您在 CSS 中选择反向。另外,请确保您使用display: table-footer-group;
李斯特先生指出的tfoot
元素而不是display: block;
于 2013-10-17T06:58:18.987 回答
2
恐怕只有在tbody
元素完全为空且不包含空格的情况下才能使用 CSS 完成。例如,
<tbody>
</tbody>
不为空,因为它包含换行符(它有一个包含换行符的文本节点子节点)。:empty
选择器只匹配根本没有子元素的元素。
如果您可以严格指望tbody
元素<tbody></tbody>
没有行时,您可以使用
tbody:not(:empty) + tfoot {
display: none;
}
于 2013-10-17T08:23:22.240 回答