将display:none设置为第一行的单元格会扰乱表格布局

时间:2015-01-19 15:56:17

标签: javascript html

我有以下基于表格的网格布局示例,我遇到了以下问题: http://jsfiddle.net/ccfa6kvb/1/

基本上我的问题是,如果我隐藏第一行的间隙单元格,我的间隙列的其余部分会扩展并弄乱布局。你可以通过我提供的Toggle按钮试试这个。

最初使用display:none生成单元格,但同时设置了widthmin-width,就像我的列中的其他单元格一样。

我在调试器中看到的是,不知何故,第三个单元格取代了它的位置,并在第二列上设置的宽度上调出镜头。

有人可以解释为什么会这样吗?有什么方法可以避免这种情况吗?

1 个答案:

答案 0 :(得分:4)

display: none将完全取出文档渲染流中的元素,导致受该隐藏元素影响的相邻元素相应地重新布局。应用display: none时设置的其他属性无关紧要,这就是widthmin-width值没有任何明显影响的原因。

您可能需要visibility: hidden而不是display: none。这将使元素不可见,但在文档的布局中保持其位置。