已采纳回答 / Tendernessmile
必须设置body的margin和padding为0,因为第一个和第三个div设置了绝对定位,所以看不出来有空隙,而第二个div就存在body的边距,导致空隙的出现 ,你设置一个all并没有改变body的边距,所以空隙会存在
2017-03-04
.right{width:580px;
height:900px;
float:right;
background: #8aa7db}
.foot{with:100%;
height:100px;
margin: 0px auto;
background: #ff6600}
height:900px;
float:right;
background: #8aa7db}
.foot{with:100%;
height:100px;
margin: 0px auto;
background: #ff6600}
.top{width:100%;
height:200px;
margin:0,auto;
background:gray; }
.main{width:800px;
height:900px;
margin:0px auto;
background: red}
.left{width:200px;
height: 900px;
float:left;
background: blue;}
height:200px;
margin:0,auto;
background:gray; }
.main{width:800px;
height:900px;
margin:0px auto;
background: red}
.left{width:200px;
height: 900px;
float:left;
background: blue;}
.top{height:100px;background:#ccc;}
.main{height:600px;width:100%;}
.left{ height:600px;width:30%;float:left;background: blue}
.left_1{height:600px;width:5%;float:right;background: red}
.right{height:600px;width:70%;float:right;background: #6c9}
.foot{height:100px;background:orange;}
.main{height:600px;width:100%;}
.left{ height:600px;width:30%;float:left;background: blue}
.left_1{height:600px;width:5%;float:right;background: red}
.right{height:600px;width:70%;float:right;background: #6c9}
.foot{height:100px;background:orange;}
body{ margin:0; padding:0; font-size:30px; font-weight:bold}
div{ line-height:50px}
.main{ width:960px; height:600px; margin:0 auto}
.left{ width:300px; height:600px; background:#ccc; float:left;}/*左浮动样式*/
.right{ width:600px; height:600px; background:#FCC; float:right;}/*右浮动样式*/
这样就可以显示出最终效果了
div{ line-height:50px}
.main{ width:960px; height:600px; margin:0 auto}
.left{ width:300px; height:600px; background:#ccc; float:left;}/*左浮动样式*/
.right{ width:600px; height:600px; background:#FCC; float:right;}/*右浮动样式*/
这样就可以显示出最终效果了
最新回答 / qq_天天_66
其实你的理解没有错,之所以你有这样的误解,你可以试一下将main的margin-left:10px时,你会发现left向右移动了10px,而right却没有移动,left和right紧贴在 了一起。你就说明了他的定位确实是相对了body来的。
2017-03-02
对于我们设置的外围容器也就是上面的.main一般不需要设置高度,上面的代码是对的,因为外围的高度最好是由里面的内容撑起来,避免出错。
在上面浮动对两个元素造成了影响,一个就是.main(父容器),由于里面的元素是浮动的脱离了文档流,所以没有撑开;第二个就是下面的.footer元素,由于之前说的main没有撑开,所以.footer 到了.header元素下面(替代浮动元素在正常文档流中的位置)。
所以需要清除浮动,一般用两种方法1,在.main{ }添加overflow:hidden
2.在.footer{}里面添加clear:both;
在上面浮动对两个元素造成了影响,一个就是.main(父容器),由于里面的元素是浮动的脱离了文档流,所以没有撑开;第二个就是下面的.footer元素,由于之前说的main没有撑开,所以.footer 到了.header元素下面(替代浮动元素在正常文档流中的位置)。
所以需要清除浮动,一般用两种方法1,在.main{ }添加overflow:hidden
2.在.footer{}里面添加clear:both;