为什么在css表中阻止元素子元素不要占用100%的宽度?

时间:2016-03-09 05:23:56

标签: css html5 css-tables

如果我在display: table;元素中添加块元素,它们不会扩展到表格的100%宽度,而是扩展到表格第一列的宽度的100%。如果我手动向此块元素添加更大的非百分比“px”宽度值,它还会导致表的第一列随之扩展。无论此块元素的位置如何(顶部或底部)都会发生。

我有一个小提琴来传达这一点:https://jsfiddle.net/ugdre5s9/1/。请注意,顶部的.table-caption-div元素和行底部和中间的.full-width-row元素不会超出第一列宽度。我尝试在display: table-row;中包装这些元素,但这也没有帮助。

如何插入一个元素作为display: table;节点的子节点,该元素将扩展到100%的宽度?

1 个答案:

答案 0 :(得分:1)

该块被放置在一个跨越单个列的匿名表格单元格中。

您无法指定单元格框在CSS中应跨越的行数或列数。这是CSS表模型的最大限制之一。但是在你的小提琴中你可以通过使用一个表并用.table-caption-div元素替换你的caption来完全解决问题,因为你在那里是一个表 ,并且应该被标记为这样而不是一堆语义无意义的div(嗯,除了全宽行,它应该完全是完全独立的元素,而不是像表格数据的一部分那样在表格中加工)