显示后如何恢复正常:表格行没有

基本上,我有一张桌子。 Onload,我设置表格的每一行display:none因为我有很多JavaScript处理要完成,我不希望用户在完成时看到它。 我已经设置了一个计时器来显示一段时间后,我的问题是,我不能让表格行像表格一样显示。 如果我设置了display:block ,它将不会与头部(th)对齐。 我找到的唯一解决方案是display: table-row from css2,但是7和以下不支持这个声明。

任何解决方案


将显示设置为空字符串 - 这将允许行使用其默认显示值,因此适用于所有浏览器


IE7及以下版本使用display: block来表格元素; 其他浏览器正确使用table-rowtable-cell等。

虽然您可以浏览器嗅探并选择不同的显示值,但间接隐藏行更容易。 添加样式表规则,如下所示:

.hidden { display: none; }

然后将行元素的className更改为包含或不包含hidden类。 当该类被删除时, display样式将跳回到默认值,无论哪个在当前浏览器上。

您还可以使用包含选择器来隐藏一个元素中的多个元素,然后通过更改一个类来使它们全部可见/隐藏。 这比单独更新每个style要快。

我有很多JavaScript处理要完成,我不希望用户在完成时看到它。

反正他们一般不会。 直到控制通过代码返回到浏览器,更改通常不会在屏幕上呈现。


为什么不把表格放在一个div中,使div的显示为none ,当处理完成时,将div的显示设置回blockinline block或者你需要的任何东西......

链接地址: http://www.djcxy.com/p/75637.html

上一篇: how to revert back to normal after display:none for table row

下一篇: Div display:initial not working as intended in ie10 and chrome 29