页面多列布局

先讲解两列布局的多种解决方案。
老规矩,现在HTML文档BODY下写入:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  接着CSS设置parent主容器背景颜色为浅灰色,left背景颜色为黑色,right背景颜色为深灰色:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  这时候我们得到的效果图以及我们最终想要的定宽与自适应两列布局的效果图如下:
原始效果图: 多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客 

最终效果图: 多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客(两列布局之间边距为10px)
好了,不废话了!

两列布局的第一种解决方案:float+margin
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  这种解决方案的优点就是:兼容性很好(IE6不兼容,在IE6下right右边布局文字会缩进3px,需要在left样式加上margin-right:-100px);缺点就是只能设置定宽与自适应两列布局,无法拓展至不定宽与自适应两列布局。
解决IE6兼容性问题,需修改下HTML结构:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客(即在right容器外再套一个容器right-fix)
同时,CSS需更换为:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  也就是说,解决方案优化为:float+margin+(fix),不过这个解决方案还是无法用于不定宽与自适应两列布局。

两列布局的第二种解决方案:float+overflow
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
这种解决方案的优点就是兼容性很好(除了IE6不支持),而且能够用于不定宽与自适应两列布局(只需把 width: 100px去掉即可变为不定宽与自适应两列布局)。

两列布局的第三种解决方案:table
    多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  这种解决方案的缺点就是兼容性较差(IE6/7不支持),但是能够用于不定宽与自适应两列布局,同时CSS需更改为:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
 
  两列布局的第四种解决方案:flex
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  这种解决方案的缺点就是IE6/7/8/9不支持,IE10需加-ms-前缀才能使用,兼容性差;好处在于可以用于不定宽与自适应两列布局(只需去掉left中 width: 100px;即可)。


那么如果是三列布局或者四列、五列布局呢,这里举一个例子,例如要进行 定宽+定宽+自适应的三列布局:
首先HTML写入:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
CSS背景颜色跟两列布局一样:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  这里采用两列布局的第二种解决方案(float+overflow),我们只需要同时设置left和center就可以:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
这样就可以得到定宽+定宽+自适应的三列布局,效果图如下:
多列布局的多种解决方案(一)(定宽或不定宽与自适应的布局) - 黄晓林 - 黄晓林的博客
  同样的,去掉 width: 100px;就能得到不定宽+不定宽+自适应的三列布局。
其他三列、四列布局的解决方案由两列布局的解决方案拓展可以得出,万物归一!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值