自适应网页中3种三栏布局的用法

首先解释一下什么是“三栏布局”:顾名思义,三栏布局就是在网页上以平铺方式展现的左中右三列布局,其特点在于,左右两列可固定在网页左右两侧,中间一列永远居中,且当网页宽度大于左右两列宽度之和时,中间一列可随网页整体宽度的变化而变化。无论在自适应网页或响应式网页中,三栏布局都是最为常见和基础的布局方式之一。

目前为止,三栏布局的常用写法有三个:绝对定位法外距负值法以及自身浮动法

为方便演示,限定示例的布局结构:左中右三栏布局,左右两栏宽度固定为200px,中间栏宽度自适应。

1.绝对定位法:

这是三种方法里最直观,最容易理解的:左右两栏采用绝对定位,分别固定于页面的左右两侧,中间的主体栏用左右margin值撑开距离。于是实现了三栏自适应布局。

绝对定位法

这个方法中,左中右三个div的顺序可以任意调整,而下面两个方法则不可以。

优点:理解容易,上手简单,受内部元素影响而破坏布局的概率低。

缺点:若中间栏含有最小宽度限制,或含有固定宽度的内部元素,当浏览器宽度小到一定程度,会发生布局层重叠。当用户设备为宽屏设备时,用户通常不会把浏览器缩小到1000px及以下。

2.外距负值法:

这种方法在实际应用次数最多。中间主体使用双层标签。外层div宽度100%显示,并且浮动(本例左浮动,下面所述依次为基础),内层div为真正的主体内容,含有左右210px的margin值。左右两栏都采用margin负值定位,左栏左浮动,margin-left为-100%(-100%相对于其父元素<body></body>的宽度而言);右侧栏也是左浮动,其margin-left为-200px(-200px相对于其本身的宽度而言)。

外距负值法

注意:几个div的顺序,无论是左浮动还是右浮动,主体部分div的书写位置必须固定,左右两栏则无必要规定,通常先左后右就好。

优点:三栏相互关联,真正意义上的自适应,有一定的抗性——布局不易受内部影响。

缺点:较难理解,上手不易,代码相对复杂。出现百分比宽度,过多负值定位,若在布局上出现bug,排查不易。

3.自身浮动法:

此方法代码最简单。应用了标签浮动跟随的特性。左栏左浮动,右栏右浮动,主体直接放后面,就实现自适应。

自身浮动法

注意:主体div放在最后,左右两栏div顺序任意。

优点:代码足够简洁与高效。

缺点:若使用此方法,中间主体需避免明显的clear样式clear:both)。

4.扩展——上下固定、中间自适应的页面布局方式(position:absolute):

上下固定

用到的情况不多,较为常见还是顶部div固定定位position:fixed;),但原理类似。

最后说一句,以上代码都不用记,只要保存链接,用到之时直接CV一下就好~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值