【问题标题】:IE8 reserving space for a non-displayed elementIE8 为非显示元素保留空间
【发布时间】:2009-10-20 14:51:28
【问题描述】:

我有一个带有表单和选择的简单页面。这些选择的数量设置为不可见,我使用 Javascript (JQuery) 设置可见/不可见的好选项。

将它们设置为不可见的 CSS 是:

select {
   margin:0;
   margin-top:5px;
   padding:0;
   border:0;
   }

.Invisible {
    display:none;
}

它在 Firefox、Opera 和 Chrome 上运行良好,但在 Internet Explorer 8 上当然不行。

它确实使选择不可见,但它为每个选择保留 1 或 2 个像素。

Here is my test page

您可以看到“Modèle”和“Budget”之间有很大的空间......如果您使用“Marque”下拉菜单,您可以看到它更好。

【问题讨论】:

    标签: html css internet-explorer xhtml


    【解决方案1】:

    IE 正在渲染您的 </select> 和下一个启动 <select> 之间的空格,如果您删除换行符和这两个元素之间的任何空格,您的神秘空格就会消失。

    【讨论】:

    • 确实有效!谢谢 !我很惊讶,因为我认为连续空格没有编码为“ ”没有渲染。在其他浏览器中是哪种情况...... IE“错误”还是我错过了什么?
    • 我认为这只是 IE 的问题。一两年前我遇到了同样的问题,表格中的 td 标签之间有一个奇怪的空格
    • Jalil,连续的空白字符(空格、制表符、换行符)没有被 消除,当 HTML被渲染。 w3.org/TR/html4/struct/text.html#h-9.1 有一个提示:“......用户代理在产生输出字间距时应该折叠输入空白序列。”这里的关键是“产生输出字间空间”,这意味着输出仍然包含一个空格——只是不是输入中包含的所有连续空格。另一个提示是w3.org/TR/xhtml-media-types/#compatGuidelines,在 Sec 下的基本原理中。 A5
    • 感谢 Val 的精确,我明白这一点。我坚信不可见的 之间的所有“词间空间”也折叠成单个词间空间。其实其他浏览器似乎也是这样考虑的……
    猜你喜欢
    • 1970-01-01
    • 2017-10-26
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多