Dan*_*ego 8 html css web-standards
处理一系列需要在一条线上的块元素的最常用方法是什么(例如,如果javascript需要能够修改它们的宽度)?应用浮点数的优点和缺点是什么:左边是每个还是使用定位放置它们?
好吧,如果你不太关心旧的浏览器(我在看你,IE6),这里最好的方法就是去
display:inline-block;
Run Code Online (Sandbox Code Playgroud)
基本上,它会创建一个盒子模型元素,而不会在它之前或之后清除,因此它仍然在行中.每个现代浏览器都很好地解释它.
浮动将是我的选择,但这实际上取决于您想要实现的目标。如果您可以提供一个更具体的示例,我将能够给您一个明确的理由,说明我认为您应该使用什么以及为什么。然而,这里是我遇到的一系列优点和缺点(我假设定位意味着绝对定位):
定位优点:
定位缺点:
浮动优点:
浮动缺点:
至于塞巴斯蒂安提到的clear:both元素,有一个简单的方法可以解决这个问题。假设您有一个容器 div 和 2 个浮动 div 。
网页:
<div id="con">
<div class="float"></div>
<div class="float"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#con { background:#f0f; }
.float { float:left; width:100px; height:100px; background:#0ff; }
Run Code Online (Sandbox Code Playgroud)
如果您要运行此代码,您会注意到容器 div(洋红色的)只有一个像素高,而浮动 div 是正确的 - 这就是 Sebastian 提到的问题。现在你可以采纳他的建议并添加一个 br 或浮动容器,这不太语义 - 所以这里有一个稍微更优雅的解决方案。只需添加溢出:隐藏;到容器 div 像这样:
#con { background:#f0f; overflow:hidden; }
Run Code Online (Sandbox Code Playgroud)
现在你的容器应该正确地包裹浮动的 div。