即使span元素具有可见性:隐藏,它也会占用FireFox中的空间

时间:2016-01-07 05:18:31

标签: css asp.net

我正在使用asp.net webforms。我在<td>元素中显示一个asp:RegularExpressionValidator,它验证文本框中的条目。加载页面时,它会显示为<span>元素,其中visibility:hidden。问题是在Firefox中,它仍占用空间,这在IE和Chrome中不会发生。因此,html在Firefox中无法正确显示。这有什么解决方案吗?

3 个答案:

答案 0 :(得分:1)

&#34;可见性:隐藏;&#34;呈现元素但保持不可见。 如果您不打算加载元素,则应使用

.someElement { display: none; }

这甚至不会为指定的元素保留空间。

希望这会有所帮助..

答案 1 :(得分:0)

您应该尝试display:none而不是visibility:hidden

display:none表示相关标签根本不会出现在页面上(尽管您仍然可以通过dom与其进行交互)。其他标签之间不会为它分配空间。

答案 2 :(得分:0)

我建议采用不同的方法......我知道代码依赖于asp.net ...我认为你不想要的是因为那些验证器而有更大的间距,或者你没有希望布局在错误突出显示时扩展,考虑到这一点,我建议:

  • 使所有验证者消息具有绝对位置(我希望你有一个容器用于每个字段,那个人需要position: relative
  • 由于每个验证器都有绝对位置,因此不会占用更多的垂直空间(最好通过css类添加代码,这应该类似于:

    .validatorMessage { 位置:绝对; 左:0; 顶部:2rem / *应该是字段的高度* / }

唯一的问题是,当这些消息启动时,会缩短可用空间,但我认为这是一个合理的权衡。

希望这可以提供帮助