我必须设置容器的高度吗?

时间:2012-05-03 16:18:20

标签: html css

我有这段代码:

#container {
    position:relative;
    width:760px;    

    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;

    border: 1px solid #cdcdcd;  
}

#sidebar {
    float:left;
    width: 200px;
    background:red;
}

#wrapper {
    float:left;
    width:460px;
background:blue;

}

和这个HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <title>Example.com</title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
    </head>
    <body>
        <div id="container">
            <div id="sidebar">
                        LEFT
            </div>

            <div id="wrapper">
                RIGHT
            </div>          
        </div>  
    </body>
</html>

我看到容器没有高度......我必须设置它吗?我想根据内部DIV的高度来解释高度,我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

您无需设置高度,只需添加:

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

直接位于您浮动的任何div之下。

<小时/> 在您的情况下,您可以这样做:

只需将其添加到您的CSS文件中即可。

.clear {
  clear: both;
}

并更新您的HTML文件以匹配

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <title>Example.com</title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
    </head>
    <body>
        <div id="container">
            <div id="sidebar">
                        LEFT
            </div>

            <div id="wrapper">
                RIGHT
            </div>    
            <div class="clear"></div>      
        </div>  
    </body>
</html>

答案 1 :(得分:1)

这是因为您使用了float:left。一种解决方案是添加clear:both div,如下所示:

CSS:

.clear {
    clear: both;
}

HTML:

<div id="container">
    <div id="sidebar">LEFT</div>
    <div id="wrapper">RIGHT</div>
    <div class="clear"></div>
</div>  

答案 2 :(得分:0)

为容器提供额外的CSS

overflow: hidden;

这将打破浮动,没有额外的标记
(不适用于箱内阴影)

相关问题