CSS网页布局入门教程5:二列宽度自适应
作者:不详 来源:aa25收集 【大 中 小】 浏览: 修改日期:2009-02-17 我要评论(21)
本站2010年9月新增《十天学会web标准(div+css)》系列教程,欢迎学习!
从二列固定宽度入手,开始尝试二列布局的情况下,左右栏宽度能够做到自适应,从一列自适应布局中我们知道,设定自适应主要通过宽度的百分比值设置,因此在二列宽度自适应的布局中也同样是对百分比宽度值的设计,继续上面的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%,看上去像一个左侧为导航,右侧为内容的常见网页形式。
标准之路www.aa25.cn 提示:可以先修改部分代码后再运行
为什么没有将右栏设置为80%,从而实现整体100%的效果?
这个问题的原因还得从对象的其它属性说起,大家应该还记得,为了使布局在预览中更清楚,我们使用了border属性,使得两个对象都具有1px的边框,而在CSS布局中,一个对象的宽度,不仅仅由width值来决定,一个对象的真实宽度是由对象本身的宽、对象的左右边距,以及左右边框,还有内边距这些属性相加而成,因此左面的对象不仅仅是浏览器窗口的20%的宽度,还应该加上左边的边框的宽度。这样算下来左右栏都超出了自身的百分比宽度,最终的宽度也超过了浏览器窗口的宽度,因此右栏将被挤掉第二行显示,从而失去了左右分栏的效果,因此这里使用了并非100%的宽度之和,而在实际应用之中,可以通过避免边框及边距的使用,而达到左右与浏览器填满的效果。这样一个有关宽度计算的问题,是CSS布局中相当重要的被称为为盒模型的问题,在以后的教程中会详细讲解,请继续关注本站的教程。
本例的制作过程和CSS网页布局入门教程4:二列固定宽度一样,只不过在设置宽度时把固定的固定的200px宽度分别换成20%和70%,在此不再赘述。
(如果您觉得本站不错,请告诉身边的朋友,或转载到论坛、百度知道、贴吧等,记得带网址哟,不胜感激!)
〖DIV+CSS教程〗Tags: CSS 入门 教程 布局
所属专题:入门教程
相关文章
更多评论(21)..会员评论
- haolijun(1.85.*.*) 发表于:2011-04-25 21:17:19
- 我给body里设置了margin:0 auto;怎么不能剧中呢,
- 管理员回复:需要给div设置,并定义宽度
- jiali3000(123.8.*.*) 发表于:2010-09-30 16:08:27
- 站长辛苦~学习中
- 管理员回复:欢迎常来
- newmsg(122.234.*.*) 发表于:2010-08-18 15:08:35
- www.fytoo.com 这个网站上面的css里面有类似这样的描述,#menu LI A:hover { BACKGROUND: url(menu_li_hover.jpg) no-repeat left top; COLOR: #000 } 请问站长,我在那里可以找到menu_li_hover.jpg这个文件?本来我想抽取他这个图片,但是找不到具体位置。请指示
- 管理员回复:建议再去学习下html+css基础知识。根据路径得知,图片在当前目录下
- 21646(113.132.*.*) 发表于:2010-07-02 10:43:35
- #body { margin:0px;} #top{width:802px;; border:solid 1px; height:200px; margin-left:170px; margin-right:170px;} #left { margin-left:170px; background-color: #E8F5FE; border: 1px solid #A9C9E2; float: left; height: 900px; width: 200px; } #right { background-color: #F2FDDB; border: 1px solid #A5CF3D; float: left; height: 900px; width: 600px; } --> </style> </head> <body> <div id="top">头部</div> <div id="left">左列</div> <div id="right">右列</div> </body> </html> 我想做这样一个布局,可是去到IE6中,就错行了。哪里有问题呢? 还是先得在外面再套一个大框?请管理员指点。
- 管理员回复:请参考本站css版式布局相关实例。http://www.aa25.cn/layout/
- 李峰(220.114.*.*) 发表于:2010-03-24 22:54:40
- 请教学长,如何解决IE6\7\8\ff的兼容性呢?是不是要对其进行判断,而对不同的浏览器做不同的排版?我了解IE6宽度会比IE7\8的要宽,具体宽多少,是不是也定不下来?
- 管理员回复:其实掌握这几个常用浏览器的特性后,兼容性就很好多了。你说的有点复杂了
- sweet(119.125.*.*) 发表于:2010-03-04 22:51:24
- 如果要居中,怎样设置父div
- 管理员回复:父div设置个宽度,再加个margin:0 auto;即可
- 学习(59.33.*.*) 发表于:2010-03-02 11:12:45
- 想要居中、怎么样编代码、设置父div不好用
- 管理员回复:那没别的办法了
- 财富之门(122.70.*.*) 发表于:2010-02-05 21:27:51
- 学会,去6了,先谢
推荐文章
热门文章
最新评论文章
推荐专题
在线交流QQ群
- 106310407(开)
- 55427134(开)
- 2993401(开)
- 30235673(开)
- 33424604(开)
- 2993401(开)
- 161512108(开)
- 161510519(开)
- 158375021(开)
- 155858414(开)
- 143309878(开)
- 16373807(开)
- 129098721(开)
- 123473199(开)
- 146991009(开)
- 135792800(开)
