• CSS等分布局方法


    原文链接:http://caibaojian.com/css-equal-layout.html

    CSS等比例划分,在CSS布局中是比较重要的,下面分享几种常用方法和探讨一下兼容性。

    一:浮动布局+百分比

    emmet html代码:ul.float-ul>li*5>.con>h3{等分标题}+p{等分内容等分内容}
    .float-ul{ 100%; overflow: hidden; zoom: 1;}
    .float-ul li{float: left;  20%;}

    该样式兼容性较好,但是无法实现当里面的列增多时比例也随着变化,必须手动修改,当然你也可以使用一个js来调整了。

    二:行内元素(inline-block)+百分比

    参考之前写过的inline-block替换float的代码,使用该样式还可以实现布局居中等块级元素所具有的特性。

    .inline-ul{font-size: 0; *word-spacing: -1px;}
    .inline-ul li{display: inline-block; *display: inline; *zoom: 1; font-size: 14px; vertical-align: top; word-spacing: normal; letter-spacing: normal;  20%;}
    @media screen and (-webkit-min-device-pixel-ratio:0){
    .inline-ul{letter-spacing: -5px;}
    }

    三:display:table + display:table-cell

    我们知道表格可以根据内容进行划分,CSS也有一个样式是display:table来实现类似表格的布局,不过不支持IE8以下浏览器。

    .table-cell{display: table;  100%;}
    .table-cell li{display: table-cell;}

    四:使用css3 display:flex.

    旧语法:·

    .flex-ul{display: -webkit-box; display: box;}
    .flex-ul li{-webkit-box-flex:1; box-flex:1;}

    新语法:

    .flex-ul{display:-webkit-flex; display: flex;  100%;}
    .flex-ul li{-webkit-flex:1; flex:1;}

    该方法只适用于高级浏览器,IE10以下的还是算了。具体介绍

    五:使用栅格化系统

    例如Bootstrap的栅格化系统

    //code from http://caibaojian.com/css-equal-layout.html
    <div class="container">
      <div class="row">
        <div class="col-md-3"></div>
        ...
      </div>
    </div>
    .col-md-3 { float:left; }
    @media (min- 992px) {
      .col-md-3 {  25%; }
      /* 父级容器的3/12 */
    }

    缺点和第一个的float一样,需要根据列数来跳出宽度调整。

    总结:

    如果需要兼容IE6-IE7的,如果列数固定可以使用第一种和第二种。如果列数不固定,可以加少量js支持。

    如果是只考虑移动的,考虑第三种,兼容性比下面的flex支持的比较好。

    如果单纯的不考虑低版本浏览器的,可以考虑使用第四种。

  • 相关阅读:
    无废话XML阅读笔记(三)
    ____ To All Girls & Boys
    FDT注册码
    无废话XML阅读笔记(五)
    无废话XML阅读笔记(一)
    物理运动学公式汇总
    flash编译器错误查询表
    入秋了,给大家一些生活小常识
    12年
    linux 自动上传程序
  • 原文地址:https://www.cnblogs.com/One-sprite/p/8447118.html
Copyright © 2020-2023  润新知