已采纳回答 / 羊大人
left因为设置了绝对定位,已经脱离了文档流,他的位置是相对左上角的,因为你上面有个top的效果,所以你需要相对它设置一下top值,而right效果并没有设置定位,所以还在普通流中,按照元素自上而下的规范,他是在top高度的下面的
2017-08-10
.top{height:100px;background-color:#999;}
.main{height:600px;background-color:red;position:relative;}
.left{width:200px;height:600px;background-color:blue;position:absolute;}
.right{width:100%;height:600px;background-color:green;margin-left:210px;position:absolute;}
.foot{height:50px;color:}
.main{height:600px;background-color:red;position:relative;}
.left{width:200px;height:600px;background-color:blue;position:absolute;}
.right{width:100%;height:600px;background-color:green;margin-left:210px;position:absolute;}
.foot{height:50px;color:}
.top{height:80px; background:#ccc;}
.main{width:80%;height:600px; background:red; margin:0 auto;position:relative;}
.left{ width:200px; height:600px; position:absolute;top:0;left:0; background:green;}
.right{height:600px;margin-left:210px; background:yellow;}
.foot{height:60px; background:orange;}
.main{width:80%;height:600px; background:red; margin:0 auto;position:relative;}
.left{ width:200px; height:600px; position:absolute;top:0;left:0; background:green;}
.right{height:600px;margin-left:210px; background:yellow;}
.foot{height:60px; background:orange;}
本课程只教别人设置浮动,文档流与浮动的原理没说清楚,以及清除浮动的原理也没讲,小白看了【任务4】一脸懵逼,清除浮动才是最大的后手,不过再Chrome和新版的IE里面不清除浮动Footer也能正常显示,这课程留一手啊,坑爹啊。
/*
1、宽度自适应:不设置宽度;
2、样式加载:样式按从上往下排序,写在前面的先加载;
3、兼容ie6:不能用浮动float,只能先设置父元素main为相对定位relative作为参照定位,后设置其子元素(right、left)为绝对定位absolute,并设置其具体位置。
*/
/*
1、如不给right设置外边距margin,则其自适应宽度会与其中的文字同宽;
2、由于left的width为200px,则right的margin-left为210px,因此right与left的间隔为10px;
3、由于right为main的首个子元素,因此默认叠加在main上面,无需设置绝对定位。
*/
1、宽度自适应:不设置宽度;
2、样式加载:样式按从上往下排序,写在前面的先加载;
3、兼容ie6:不能用浮动float,只能先设置父元素main为相对定位relative作为参照定位,后设置其子元素(right、left)为绝对定位absolute,并设置其具体位置。
*/
/*
1、如不给right设置外边距margin,则其自适应宽度会与其中的文字同宽;
2、由于left的width为200px,则right的margin-left为210px,因此right与left的间隔为10px;
3、由于right为main的首个子元素,因此默认叠加在main上面,无需设置绝对定位。
*/