我有这段代码:
#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的高度来解释高度,我怎么能这样做?
答案 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;
这将打破浮动,没有额外的标记
(不适用于箱内阴影)