如何隐藏 HTML 表格行
<tr>
以便不占用空间?我有几个 <tr>
设置为 style="display:none;"
,但它们仍会影响表格的大小和边框反映隐藏行。<tr>
以便不占用空间?我有几个 <tr>
设置为 style="display:none;"
,但它们仍会影响表格的大小和边框反映隐藏行。你能够包含一些代码吗?我总是给我的表格行添加style="display:none;"
,这样可以有效地隐藏整行。
您可以设置<tr id="result_tr" style="display: none;">
,然后使用JavaScript将其显示:
var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';
我很想看到你的表格样式,例如 "border-collapse"。
只是猜测,但它可能会影响如何呈现“隐藏”行。
我觉得可以提供另一种可能的解决方案:
<tr style='visibility:collapse'><td>内容</td></tr>
我只在Chrome上测试过,将此代码放在<tr>
上可以隐藏该行,而所有单元格仍然会对列宽产生影响。有时候我会在表格底部增加一排只包含一些占位符的额外行,以便使某些列的宽度不能小于某个值,然后使用这种方法隐藏该行。(我知道你应该能够使用其他css实现,但我从未做到过)
同样,我在纯粹的Chrome环境中,所以我不知道这在其他浏览器中的功能如何。
display: none
的解决方案则会改变列宽,导致使用体验变得令人不舒服。谢谢! - k2snowman69thead
中以便于阅读。但是,我正在处理的表格没有顶部标题行的语义原因。使用此方法隐藏行的样式不会像display: none;
那样被忽略。 - Sigmaticdisplay: none;
不起作用,那么设置height: 0;
如何?再加上一个负边距(等于或大于顶部和底部边框的高度,如果有的话)来进一步删除该元素?我想position: absolute; top: 0; left: -4000px;
不会起作用,但值得一试。就我而言,使用 display:none
是可以的。tr
元素上使用height
属性,仍然需要将display
类型从默认值更改为类似于block
的其他值。 - Ewanvar result_style = document.getElementById('result_tr').style;
result_style.display = '';
对我来说运行完美。
添加以下一些样式:line-height:0px;font-size:0px;height:0px;margin:0;padding:0;
我忘记哪个属性会产生这种效果。我想在IE6中是line-height属性。
<!-- [HTML] -->
。这种情况曾经发生在我身上,我很困惑为什么会这样。后来我注意到,如果我删除了行内的任何 符号,那么这些行就不会占用任何空间。
style="display:table-row"
。如果没有这个,它会隐藏,但下一行会尝试适应第一个单元格。或者像那样的一些奇怪的事情。 - Tim Erickson