显示后如何恢复正常:表格行没有
基本上,我有一张桌子。 Onload,我设置表格的每一行display:none
因为我有很多JavaScript处理要完成,我不希望用户在完成时看到它。 我已经设置了一个计时器来显示一段时间后,我的问题是,我不能让表格行像表格一样显示。 如果我设置了display:block
,它将不会与头部(th)对齐。 我找到的唯一解决方案是display: table-row
from css2,但是7和以下不支持这个声明。
任何解决方案
将显示设置为空字符串 - 这将允许行使用其默认显示值,因此适用于所有浏览器
IE7及以下版本使用display: block
来表格元素; 其他浏览器正确使用table-row
, table-cell
等。
虽然您可以浏览器嗅探并选择不同的显示值,但间接隐藏行更容易。 添加样式表规则,如下所示:
.hidden { display: none; }
然后将行元素的className
更改为包含或不包含hidden
类。 当该类被删除时, display
样式将跳回到默认值,无论哪个在当前浏览器上。
您还可以使用包含选择器来隐藏一个元素中的多个元素,然后通过更改一个类来使它们全部可见/隐藏。 这比单独更新每个style
要快。
我有很多JavaScript处理要完成,我不希望用户在完成时看到它。
反正他们一般不会。 直到控制通过代码返回到浏览器,更改通常不会在屏幕上呈现。
为什么不把表格放在一个div中,使div的显示为none
,当处理完成时,将div的显示设置回block
或inline block
或者你需要的任何东西......
上一篇: how to revert back to normal after display:none for table row
下一篇: Div display:initial not working as intended in ie10 and chrome 29