当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS网页布局入门教程5:二列宽度自适应

CSS样式表
理解(X)HTML的文档结构
CSS教程:理解继承属性及应用
CSS网页布局:关于定位(position)
CSS简单实现网页悬浮效果(对联广告)
CSS教程:行高line-height属性(1)
CSS Sprite图片处理技巧
CSS教程:最基本的条状图表
CSS教程:复合型条状图表
网页布局 CSS简单实现垂直居中
CSS网页实例:斜角滑动门导航条
CSS教程:专门介绍滑动门
网页文字应用CSS的一些技巧
IE7与web标准设计(1)
IE7与web标准设计(2)
网页的中英文字体对齐问题的解决
IE7与web标准设计(3)
CSS教程:网页英文字体和中文字体应用
css教程:css和document
CSS规则的结构和Grouping、class和id
CSS解决浏览器的等宽空格问题

CSS样式表 中的 CSS网页布局入门教程5:二列宽度自适应


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 98 ::
收藏到网摘: n/a

从二列固定宽度入手,开始尝试二列布局的情况下,左右栏宽度能够做到自适应,从一列自适应布局中我们知道,设定自适应主要通过宽度的百分比值设置,因此在二列宽度自适应的布局中也同样是对百分比宽度值的设计,继续上面的CSS代码,我们得新定义二列的宽度值:
复制代码 代码如下:

#left {
background-color: #E8F5FE;
border: 1px solid #A9C9E2;
float: left;
height: 300px;
width: 20%;
}
#right {
background-color: #F2FDDB;
border: 1px solid #A5CF3D;
float: left;
height: 300px;
width: 70%;
}

左栏宽度设置为宽度20%,右栏宽度设置为宽度的70%,看上去像一个左侧为导航,右侧为内容的常见网页形式。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

为什么没有将右栏设置为80%,从而实现整体100%的效果?
这个问题的原因香从对象的其它属性说起,大家应该还记得,为了使布局在预览中更清楚,我们使用了border属性,使得两个对象都具有1px的边框,而在CSS布局中,一个对象的宽度,不仅仅由width值来决定,一个对象的真实宽度是由对象本身的宽、对象的左右边距,以及左右边框,还有内边距这些属性相加而成,因此左面的对象不仅仅是浏览器窗口的20%的宽度,还应该加上左边的边框的宽度。这样算下来左右栏都超出了自身的百分比宽度,最终的宽度也超过了浏览器窗口的宽度,因此右栏将被挤掉第二行显示,从而推动了左右分栏的效果,因此这里使用了并非100%的宽度之和,而在实际应用之中,可以通过避免边框及边距的使用,而达到左右与浏览器填满的效果。这样一个有关宽度计算的问题,是CSS布局中相当重要的被称为为盒模型的问题,在以后的教程中会详细讲解,请继续关注本站的教程。
本例的制作过程和CSS网页布局入门教程4:二列固定宽度一样,只不过在设置宽度时把固定的固定的200px宽度分别换成20%和70%,在此不再赘述。