我需要一些帮助来弄清为什么我的布局很乱。这是我正在处理的:该网站。绿色框应该在紫色框内。我认为存在浮动问题。因为我并不完全理解
谢谢!
float
规则,所以请有经验的人帮我识别问题并建议一些好的“古老”文档阅读材料。谢谢!
#content-n {
clear: left;
position: relative;
width: 980px;
overflow: hidden; /* add this */
}
你的#container
中的项目都向左浮动。
这意味着它们会一直向左堆叠,直到达到包含元素的宽度,此时它们将开始换行(就像在你的情况下发生的那样)。
容纳浮动项目的包含元素不会扩展以包含浮动元素。你可以强制执行的一种方法是执行以下操作:
#container:after{
content: ".";
clear: left;
visibility: hidden;
}
这基本上在 div 的末尾添加了一个句号,将其设置为清除左侧(以清除所有浮动项),然后设置为不可见,强制容器扩展到其内容之外。
content:"."
是什么意思? - Tbi45嗯,
这是我想推荐你阅读有关浮点数的内容。
http://coding.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/
除此之外,如果您将#content的定位从相对改为绝对。那么绿色框将被包裹在紫色框内,因为它将相对于父元素(#content)定位。#content {
position: absolute;
..
..
..
}
浮点数是一项非常好的功能,但需要小心使用。
display:inline-block
元素,完全避免浮动元素。 - andybheight:auto
,内容永远不会溢出。 - Tbi45overflow:scroll
)。此外,在某些情况下,您可能会有一个固定容器,高度为200像素,其中左右各有两个浮动的div。如果您在其中一个子元素中放置了一个在单击时扩展的项目(例如Facebook“Like”按钮),它也将被截断。 - Adam Tomat