我有一个包装内容包含内部内容的包装器以及包含内容的容器。包装器确实在那里,以便在我设置的范围内相应地保持一切相互定位,以及使所有内容居中。我有我的容器根据其内部的内容自动重新调整大小,这没有问题。但是,标题和容器周围的包装器将不遵循相同的规则,最终看起来高度为1px。请注意:下面的代码将显示顶部虚线白色边框勾勒出的包装,它应该包含它所包含的所有内容。
Here's the code to the website on jsFiddle.
非常感谢任何帮助。我觉得好像我关闭了所有的花车,我不明白为什么高度:自动;在包装器上不起作用,但也许有一些我缺少的东西。
答案 0 :(得分:2)
您正在对包装器#container
的内容使用绝对定位,并将其完全排除在文档流之外。这同样适用于标题的内容。
让包装器换行的唯一方法是使用javascript手动计算和设置高度。
答案 1 :(得分:2)
height: auto
上的 #wrapper
无效,因为其中几乎所有元素都有position: absolute
。
position: absolute
做什么? http://www.w3.org/TR/CSS21/visuren.html#absolute-positioning
在绝对定位模型中,a 框明确地相对偏移 到它的包含块。 是的 完全从正常流程中删除 (它对以后没有影响 兄弟姐妹)。绝对定位 框建立一个新的包含块 对于正常流动的儿童和 绝对(但不是固定)定位 后人。 然而,内容 一个绝对定位的元素 不要在任何其他方框周围流动。
解决问题的选择:
#wrapper
height
- 但如果您事先不知道height
,则无效。height
的{{1}}。#wrapper
不是您应该如何定位页面上的每个元素。您应该使用position: absolute
代替。有关使用float
与position: absolute
的比较,请参阅: