高度自动无效

时间:2012-02-07 18:29:10

标签: css

 #container
 {
background: #787234;
width:980px;
height:auto;
margin-left: auto;
margin-right: auto;
position:relative;
//float:left;
}

容器高度设置为自动仍然面临高度问题。由于DIV与中心对齐,我无法使用float:left。

请告诉我如何获得高度:自动而不使用浮动:左

http://jsfiddle.net/Bhy3q/


编辑:

float:left给我结果但是如果我使用float:left

,我的div将不在中心



解决:(没有100点回答此信息)

由于#container与中心对齐,因此它给我高度:auto问题。我通过创建一个具有float:left

的子容器div来解决

因此,float:left是我不能在#container

中使用的答案
#container
{
width:980px;
margin-left: auto;
margin-right: auto;
}

#sub-container
{
width:100%;
height:auto;
float:left;
background: #FFF;
}

3 个答案:

答案 0 :(得分:15)

大家好我有同样的问题,我找到了解决方案:

div#container {
    height: auto;
    overflow: hidden;
}

我在容器中有很多div,但如果没有overflow:hidden;,它将无效。

当我把它放在上面的代码中时,效果非常好;)

答案 1 :(得分:3)

您似乎不了解您的CSS正在做什么。您正使用margin-leftmargin-right将div与中心对齐,然后您还想在左侧float。这两种风格存在冲突,不起作用。无论你想要div在中间还是在左边,它都不能同时出现。

此外,height默认设置为auto,因此您不必明确说明这一点。

答案 2 :(得分:2)

我有类似的问题。我正在使用的div的计算高度是窗口的大小(768px)。我设置了height:auto;,子元素的组合高度为80px。

原因是因为我在我的CSS中有这个

div.my-div {
  top:0px;
  bottom:0px;
  height:auto;
  position:fixed;
}

top:0px;bottom:0px;导致计算出的高度为窗口的大小。我删除了bottom:0px;,一切都是正确的。

相关问题