已采纳回答 / 啊不
绝对定位的块其实是浮起来的吧,相当于没有占实际的位置,所以它的下一行left的div还是排在top的下一行也就是视觉上right所在的行(你把left的width变大,就能看到它被right遮住了,也能说明right是浮起来的)。然后left的块没有设置浮动单占一行,所以下面的footer就排到下一行了,我是这么理解的,,不知道说清楚没。。
2016-05-04
已采纳回答 / 轻合琴箫
div是块状元素,它会很霸道的占一行,从代码可以看出啊,整个的main内容块没有指定高度的,只有它的子内容块指定了高度,但是它的子内容块是浮动的,所以子内容块的高度不能影响成为main的高度,那么浏览器就默认了把footer的div显示在top的下一行,这个时候添加clear:both清除了上面模块的浮动特性,那么此时main的高度就是和子内容块的高度是一样的,因此浏览器就会把footer的div显示在main的下一行; 你可以尝试把clear:both语句清除,然后定义如下的样式 .main{hei...
2016-04-29
最新回答 / 轻合琴箫
三层布局当中把左div和右div使用绝对定位是为了让中间的布局自适应,你可以把浏览器窗口调大调小,会发现中间div也会跟着变大变小,这只是一个方法,你也可以使用左浮右浮,这个时候就要给中间的div加上长度
2016-04-28
已采纳回答 / 慕婉清3660285
position:absolute;的top,left等属性使用是相对于这个定义最近一个要有定位属性的父级元素,如果不存在这样的父级则作用于body元素,也就是浏览窗口。
2016-04-26