zoukankan      html  css  js  c++  java
  • 多列布局之等分布局

         在实际网页布局中,我们可能会需要设置等分布局。

    <div class="parent">
         <div class="column"><p>1</p></div>
         <div class="column"><p>2</p></div>
         <div class="column"><p>3</p></div>
         <div class="column"><p>4</p></div>
     </div>   

        可以采用以下办法:

    方案1:float

     .parent{
    margin-left:-20px; //给父元素增加宽度
    } .column{ float:left; 25%; padding-left:20px; box-sizing:border-box; }

       缺点:1.如果等分分数不一样的话,需要重新设置。

                2.ie67对百分比浮点数直接四舍五入。

    方案2:table

        改造HTML:

    <div class="parent-fix">
         <div class="parent">
             <div class="column"><p>1</p></div>
             <div class="column"><p>2</p></div>
             <div class="column"><p>3</p></div>
             <div class="column"><p>4</p></div>
         </div>  
     </div> 

    css:

    .parent-fix{
            margin-left:-20px;          //补充宽度
        }
        .parent{
            display:table;
            100%;
            table-layout:fixed;
        }
        .column{
            display:table-cell;
            padding-left:20px;
        }

    方案3:flex

       .parent{
            display:flex;
        }
        .column{
            flex:1;                //分margin后的剩余空间
        }
        .column+.column{           //除了第一个column元素外的后几个column元素
            margin-left:20px;
        }

      缺点:兼容性问题

    总结:选择器特性及兼容性

    选择器相关知识:http://www.w3school.com.cn/cssref/css_selectors.asp

    附加等高布局:

       方案1:将left、right设为table元素;

       方案2:flex的align-items的默认值是stretch

       方案3:float(伪等高)  兼容性较好

       加上.left,.right{padding-bottom:9999px;margin-bottom:-9999px;}及.parent{overflow:hidden}

  • 相关阅读:
    python-函数(下):递归、高阶函数
    Spring Hystrix 原理与使用详解
    Jmeter 添加kafka支持
    dnspod-sr 高性能DNS 服务器软件
    Jupyter精选资源合集
    spring 跨域CORS Filter
    TensorFlow 基础准备指导
    TortoiseGit SSH-key 免用户名密码验证
    node.js、npm 升级操作详解
    Maven -DskipTests和-Dmaven.test.skip=true的区别
  • 原文地址:https://www.cnblogs.com/july-Vivian/p/4614851.html
Copyright © 2011-2022 走看看