【发布时间】:2011-09-15 02:51:55
【问题描述】:
我刚刚检查了 906.gs css 代码,并注意到他们将所有浮动 div 都内联了。
只是想知道这样做的目的是什么……我一直对学习 CSS 理论很感兴趣。
【问题讨论】:
我刚刚检查了 906.gs css 代码,并注意到他们将所有浮动 div 都内联了。
只是想知道这样做的目的是什么……我一直对学习 CSS 理论很感兴趣。
【问题讨论】:
具有float: left 的元素被强制计算display 值为block。
有关更多信息,请参阅:jQuery in Chrome returns "block" instead of "inline"
还添加display: inline 的目的是修复一个IE6 错误,即“双边距错误”:
http://www.positioniseverything.net/explorer/doubled-margin.html
编码员无辜地放置了一个左浮点数 放入容器盒中,并使用左 浮动边距将其推开 从容器的左侧。 看起来很简单,对吧?那么它是 直到它在 IE6 中查看。在那里面 浏览器左浮动边距有 长度神秘地翻了一番!
这是一个免费的修复,没有缺点(即使在 IE6 中):
这意味着 {display: inline;} 开启 浮动应该没有什么不同 使用 {display: block;} (或不显示 完全有价值),实际上是所有浏览器 遵循本规范,包括 IE。但是,这确实会触发 IE 停止将浮动的边距加倍。 因此,可以应用此修复程序 笔直,毫不掩饰 方法。
事实上,你可以只应用 如果您愿意,可以内联修复所有浮点数, 因为没有已知的副作用。 这样bug就永远无法获得 牵引力,无论您的利润如何 可能使用也可能不使用。
【讨论】: