很长一段时间以来,我在 Firefox 和 IE 中遇到了一些垂直间距问题。
我*
在我的 css 中使用选择器将边距应用于某个容器元素中的所有内容。在 Chrome 中运行良好,但在 FF 和 IE 中,我似乎从无处获得了神秘的额外填充,您可以在此处观察到:http: //jsfiddle.net/XrVXF/3/。
事实证明我有两个不同的问题。一是非 Chrome 浏览器会使用选择器选择元素*
并应用边距,边距会显示在浏览器中!即使该元素对 Firebug 之类的东西是不可见的。这应该被认为是一个错误吗?您可能会问,链接元素在 body 标记内做什么业务。好吧,我可能可以避免它,但这是在我的网站上做一些事情的最简单方法。这个页面说*
选择器应该只适用于我正在使用的 HTML5 中的块级元素,所以从这个意义上说,在我看来,至少 Firefox 正在出现问题,如果它们应该有适当的 HTML5 支持,IE 也是如此. 既然我知道了这一点,我可以解决它,但是也许还有其他我应该担心的因素?(似乎不适用于脚本或样式标签。)将边距应用于大量 html 元素而不是 html 元素会更好*
吗?
另一个奇怪的事情,你可以在我链接的小提琴中观察到,底部的 clearfix(在示例中不是必需的,但在我的网站上)也拾取边距并将它们应用于 FF 和 IE 但不是在铬。哪个是“正确”的行为?奇怪的是,我注意到关闭溢出:隐藏,可以防止 clearfix 占用空间,并且似乎对我的网站没有任何不利影响。溢出设置为隐藏的目的是什么?
更正:糟糕,当我打算使用 .clearfix (在浮动内容之后附加内容)时,我使用了 .clear,这似乎工作正常并且没有边距问题。