我有一个HTML表格,其中有<thead>
+ <tbody>
+ <tfoot>
。仅当<tbody>
没有行时,我需要显示<tfoot>
。我知道如何用JS/jQuery来做,但也许有一个纯粹的CSS解决方案?CSS。仅当TBODY没有行时才显示TFOOT
回答
使用:empty
Demo(显示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
这将选择tfoot
如果tbody
是空,而第二个是table tbody:not(:empty) + tfoot
这将选择tfoot
如果tbody
不是空的。
注:我使用
+
这是一个邻近的选择,所以你看,我 有tfoot
元素,在tbody
元素之后,如果是前tbody
比你需要使用JS
或jQuery
你在 CSS中选择反向。此外,请确保您使用display: table-footer-group;
由利斯特先生为tfoot
元指出,不display: block;
当前面的'tbody'没有行时,代码*隐藏* tfoot'。问题是如何仅在这种情况下显示*。 –
@ JukkaK.Korpela感谢您指出,选择器是完美的,只需要再添加1个:) –
我已经明白了。非常感谢! – DEgorov
恐怕可以用CSS只的情况下完成了tbody
元素完全是空的,不甚至包含空白。例如,
<tbody>
</tbody>
不是空的,因为它包含换行符(它具有包含换行符的文本节点子节点)。 :empty
selector只匹配没有孩子的元素。
如果你可以严格地具有tbody
元素<tbody></tbody>
计数,当它没有行,你可以使用
tbody:not(:empty) + tfoot {
display: none;
}
是的,空白的数量。但这对我来说不是问题。 – DEgorov
- 1. 当TBody tr是空的时删除TFoot
- 2. 仅当完全加载时才显示图像没有JavaScript
- 3. 仅当CSS过渡开始时才在div中显示文本?
- 4. 仅当CSS包含语法错误时才显示Openlayers地图
- 5. 只有当它有一些行显示时才显示表
- 6. 仅当显示按钮B时才显示按钮-A
- 7. 仅当活动未显示时才显示通知
- 8. 仅当它有标题时才显示img?
- 9. 仅当变量具有值时才显示D3文本标签
- 10. 仅当有至少30条记录时才显示ListView的DataPager
- 11. 仅当jquery中的按钮有值时才显示按钮?
- 12. Django formset - 仅当没有初始数据集时才显示额外字段?
- 13. 仅在没有链接时才使用ColdFusion显示链接?
- 14. 仅在没有设置提交时才显示表格
- 15. datatables thead和tfoot与tbody不匹配
- 16. GridView thead,tbody,tfoot渲染命令
- 17. 仅当完全创建时才显示工具提示
- 18. 仅当用户空闲X时间时才显示DIV
- 19. 仅当特定div在使用CSS时才显示弹出式菜单
- 20. 仅当元素具有标题属性时才显示工具提示
- 21. 仅在需要时才显示Janrain/RPX
- 22. 仅当JS变量为true时才显示图像?
- 23. 仅当2个条件为真时才显示字段?
- 24. 仅当文本框为空时才显示图片
- 25. 仅当用户需要时才显示Firebase通知
- 26. 仅当用户未登录时才显示注销
- 27. 仅当isAdmin为真时才显示在线用户
- 28. 仅当您进入元素视图时才显示div /元素
- 29. 仅当浏览器关闭时才显示onunload
- 30. 仅当布尔值为真时才显示帖子
一个问题应该是独立的,但这并不意味着称号。 –
你应该澄清TBODY指的是什么。 'tfoot'元素之前的'tbody'元素? –