CSS Float:为什么float要在元素浮动之前应用于元素?

时间:2012-06-01 14:32:42

标签: css css-float

CSS“float”属性有些让我很困惑。为什么“float”属性应用于要浮动的元素之前的元素?

为了帮助想象我的问题,我创建了以下jsFiddle http://jsfiddle.net/Ubutb/12/

在示例中,float属性应用于导航<div>,而不是内容<div>。我原以为浮动需要应用于 “content”<div>元素,因为这些是您想要“浮动”出页面正常流程的项目。我显然缺少一些东西。有人可以解释它比我理解的更好吗?感谢。

4 个答案:

答案 0 :(得分:2)

使用float: {position} CSS时,您告诉该元素为“浮动在其父元素的{position}侧”。内容正常,就像导航div甚至不存在一样,因为它是你指示浮动的导航,不受其他元素的影响。

答案 1 :(得分:2)

"float:left;"表示div正在推动父<div>的“左墙”..并且当下一个"float:left;" div添加到同一个容器中时,它将是向左推,然后击中第一个div的“右墙”....就像一个谜题。

容器的宽度决定第二个"float:left;" div是否有足够的空间放置在第一个div旁边,或者它是否在下面。

你通常可以在一个容器中剩下3个div,如果每个div都是33%宽,并且没有边距,并且它们最终排成一条线。但如果宽度为34%,那么就会在下面进行..

这是浮动div的最简单的解释..当然,当它向右浮动时反过来。

答案 2 :(得分:1)

听起来你正在寻找一个很好的解释为什么花车以他们的方式工作?以下是一些好的文章:

我自己的解释:浮动元素确实是浮动元素。它旁边的元素正在做所谓的“包装”。

答案 3 :(得分:0)

这是你想要的吗? jsfiddle

浮动位置是相对于“容器”a.k.a。“父”(在这种情况下,没有容器,后者是整个身体)