还是从上面代码继续入手,开始尝试二列布局的情况下,左右栏宽度能够做到自动应,从1列自适应布局中我们知道,设定自适应主要通过宽度的百分比值设置,因此在二列宽度自适应布局中也同样是对百分比宽度值的设计,继续上面的CSS代码,我们重新定义二列的宽度值:
#left{
background-color:#cccccc;钢板桩租赁,天津废锡回收
border:2px solid #333333;
width:20%;
height:300px;
float:left;
}天下星,天津网站建设,天津网站制作,天津做网站,天津网站优化,汽车玻璃
#right{
background-color:#cccccc;
border:2px solid #333333;
width:70%;
height:300px;
float:left;
}
左栏设置为宽度20%,右栏设置为宽度70%,看上去想一个左侧为导航,右侧为内容的常见网页布局形式。
为什么没有将右栏设置为80%宠儿实现整体100%的效果?
这个问题的原因得从对象的其他属性说起,大家应该还记得,为了使布局在预览中更清楚,我们使用了border属性,使得两个对象都具有2px的深色边框线,而在CSS布局之中,一个对象的宽度,不仅仅有width值来决定,一个对象的真实宽度是由对象本身的宽、对象的左右外边距,以及左右边距,还有内边距这些属性相加而成,因此左侧的对象不仅仅是浏览器窗口的20%的宽度,还应当加上左边的深色边框,这样算来的话,左右栏都超过了自身的百分比宽度,最终的宽度也超过了浏览器窗口的宽度,因此右栏将被挤掉到第二行显示,从而失去了左右分栏的效果,因此这里使用了并非100%的宽度之和,而在实际应用之中,可以通过避免边框及边距的使用,而达到左右与浏览器填满的效果。这样一个有关宽度计算的问题,是CSS布局中相当重要的被称之为盒模型的问题,在本书的高级技巧一章中有关盒模型问题的详细解析。