zoukankan      html  css  js  c++  java
  • 弹性盒模型------新布局的宠儿

    盒模型有两种,一种是W3C标准盒模型,一种是怪异盒模型.

    W3C盒模型的宽度和高度,指的是内容的宽度和高度

    怪异盒模型的宽度和高度,指的是内容+padding+border

    怪异盒模型适用IE6及以前的版本,通过去掉docutype来开启怪异模式

    这个问题在前端面试中出现的频率很高,为css3中的重中之重

    弹性盒模型应用范围很广,web移动开发以及布局都有极其重要的地位

    首先来看下面一段代码

    HTML代码如下

    <div id="main">
        <div id="div1">div1</div>
        <div id="div2">div2</div>
        <div id="div3">div3</div>
    </div>

    css代码如下

    #div1,#div2,#div3{
        height: 300px;
    }
    #div1{
        background: #ff0000;
    }
    #div2{
        background: #00ff00;
    }
    #div3{
        background: #ffff00;
    }

    此时运行的结果显示

     

    然后在css样式加上

    #main{
        display: -webkit-box;
    }

    运行结果如图

     

    div是块级元素,没加-webkit-box,会以块级元素方式排列.当我们在父元素上加-webkit-box,会变成以上这种方式排列,也可以通过-webkit-box-orient:vertical来实现块级元素排列方式

    CSS部分样式改变如下

    #main{
        display: -webkit-box;
    }
    #div1,#div2,#div3{
        height: 300px;
        -webkit-box-flex: 1;
    }

    运行结果为

     

    当改变浏览器大小时

     

    改变每一个div-webkit-box-flex的值

    #main{
        display: -webkit-box;
    }
    #div1,#div2,#div3{
        height: 300px;
        /*-webkit-box-flex: 1;*/
    }
    #div1{
        background: #ff0000;
        -webkit-box-flex: 1;
    }
    #div2{
        background: #00ff00;
        -webkit-box-flex: 2;
    }
    #div3{
        background: #ffff00;
        -webkit-box-flex: 3;
    }

    运行如图所示

     

    所以,-webkit-box-flex是将父元素动态分成几份,即使改变浏览器的大小,所占份数也不会改变

    CSS代码改变如下

    #main{
        display: -webkit-box;
        margin-left: 200px;
    }

    运行结果

     

    由此可知,弹性盒模型是将父元素剩余空间分份,将父元素的剩余空间进行动态分布.

  • 相关阅读:
    python第四十二天 socket ---ssh
    python第四十一天---作业:简单FTP
    python第三十七天--异常--socket
    python第三十六天-----类中的特殊成员方法
    python第三十五天-----作业完成--学校选课系统
    python第三十三天----静态方法、类方法、属性方法
    RESTful Web Services初探
    OLAT & OLTP
    Solr4.8.0源码分析(7)之Solr SPI
    Solr4.8.0源码分析(6)之非排序查询
  • 原文地址:https://www.cnblogs.com/yuqing-o605/p/6433357.html
Copyright © 2011-2022 走看看