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

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 100 ::
收藏到网摘: 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%,在此不再赘述。