CSS网页布局入门教程5:二列宽度自适应

2022-04-15 0 762

从二列固定宽度入手,开始尝试二列布局的情况下,左右栏宽度能够做到自适应,从一列自适应布局中我们知道,设定自适应主要通过宽度的百分比值设置,因此在二列宽度自适应的布局中也同样是对百分比宽度值的设计,继续上面的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%,看上去像一个左侧为导航,右侧为内容的常见网页形式。

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /> <title>二列宽度自适应——AA25.CN</title> <style type=”text/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%; } –> </style> </head> <body> <div id=”left”>左列——(AA25.CN)</div> <div id=”right”>右列——二列宽度自适应(AA25.CN)</div> </body> </html>

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

为什么没有将右栏设置为80%,从而实现整体100%的效果?

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

本例的制作过程和CSS网页布局入门教程4:二列固定宽度一样,只不过在设置宽度时把固定的固定的200px宽度分别换成20%和70%,在此不再赘述。

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 CSS/HTML CSS网页布局入门教程5:二列宽度自适应 https://www.niceym.com/16782.html