div在使用float时离开父级

时间:2012-11-21 15:54:08

标签: css

我看不出我的问题在哪里。我尝试过多种方式,但我仍然遇到同样的问题。正如标题所说,我有一个div成为div。当孩子使用浮动时,他离开父母div。即使事实并非如此,在设置边框进行检查时,这就是我所看到的。

#feed{
margin: auto;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
width: 70%;
float: center;  
}

.news{
margin:auto;
margin-top: 10px;
padding-bottom: 5px;
border: 1px solid;
}

.newsContent{
margin-top: 5px;
margin-left:5px;
margin-right:5px;
background-color:red;
}

.newsContent p{
margin-left: 5px;
margin-right: 5px;
}

.newsDate{
width: 20%;
margin-top: 5px;
margin-left:5px;
margin-right:5px;
float: right;
background-color:red;
}

.newsDate p{
text-align: center; 
}

和我的HTML代码:

<div id="feed">
    <div class="news">
        <div class="newsContent">
            <p> ici nouveauté </p>
        </div>

        <div class="newsDate">
            <p> ici date </p>
        </div>
    </div>
</div>

谢谢。

3 个答案:

答案 0 :(得分:6)

添加

<div style="clear: both;"></div>

在子div之后,在父div之内。这会清除您应用于子div的浮动,并且应该为您提供所需的效果。

答案 1 :(得分:1)

将以下CSS规则添加到父元素(本例中为.news)应修复它:

overflow: hidden;

请在此处查看预览:http://jsfiddle.net/ChAQq/

答案 2 :(得分:0)

你正在寻找这样的东西吗? http://jsfiddle.net/QPUzd/1/

这是因为浮动属性。你必须小心他们。

#feed{
margin: auto;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
width: 70%;
float: center;  
}

.news{
margin:auto;
margin-top: 10px;
padding-bottom: 5px;
border: 1px solid;
float:left;
}

.newsContent{
margin-top: 5px;
margin-left:5px;
margin-right:5px;
background-color:red;
    float:left;
}

.newsContent p{
margin-left: 5px;
margin-right: 5px;

}

.newsDate{
width: 20%;
margin-top: 5px;
margin-left:5px;
margin-right:5px;
float: right;
background-color:red;
}

.newsDate p{
text-align: center; 
}