zoukankan      html  css  js  c++  java
  • flex布局学习

    display属性设置弹性布局

    flex: 将对象作为弹性伸缩盒显示

    inline-flex:将对象作为内联块级弹性伸缩盒显示

    两者的区别

    参考:https://www.jb51.net/css/520392.html

     1 <style>
     2     .container{
     3         /* 200px; */
     4         display: flex;
     5         border: 1px solid;
     6     }
     7     .container> div{
     8         width:50px;
     9         height:50px;
    10         border: 1px solid red;
    11         box-sizing: border-box;
    12     }
    13 </style>
    14 <body>
    15     <!-- 注意:设为flex布局后,子元素的float,clear,vertical-aligin属性将会失效 -->
    16     <!-- Webkit内核的浏览器,必须加上-webkit前缀。 -->
    17        <div class="container">
    18             <div>1</div>
    19             <div>1</div>
    20             <div>1</div>
    21             <div>1</div>
    22             <div>1</div>
    23        </div>
    24   </div>
    25 </body>

    使用display:flex效果是这样

    使用display:inline-flex效果是这样

    ,将上面的display:flex,换成display:inline-flex,并且将200px删除。在没有测试之前,有的人可能会认为.container会占据整个一行,但是,测试结果是,它会根据子元素所有的div大小自适应宽度和高度

     上面这里用到border-sizing,那我们来看下box-sizing:content-box 和 box-sizing:border-box,content-box被称为正常盒子模型,border-box被称为怪异盒子模型

    border-box限定了盒子模型的总面积

    这里的维度计算为: width = border + padding + 内容的  width, height = border + padding + 内容的 height。

    当我们设置 box-sizing: content-box; 时,浏览器对盒模型的解释遵从我们之前认识到的 W3C 标准,当它定义width和height时,它的宽度不包括border和padding。

    当我们设置box-sizing: border-box; 时,浏览器对盒模型的解释与 IE6之前的版本相同,当它定义width和height时,border和padding则是被包含在宽高之内的。内容的宽和高可以通过定义的“width”和 “height”减去相应方向的“padding”和“border”的宽度得到。内容的宽和高必须保证不能为负,必要时将自动增大该元素border box的尺寸以使其内容的宽或高最小为0。


    box-sizing:border-box;通过从已设定的宽度和高度分别减去边框和内边距才能得到内容

    红色的部分是内容

     box-sizing:content-box;在宽度和高度之外绘制元素的内边距和边框。

  • 相关阅读:
    Day 03
    Day 02
    Day 01
    re正则表达四
    python学习05之数据可视化
    python学习04之柱形图和热图
    python学习03之线图表
    python的学习02之数据处理
    python的学习01之csv文件处理
    中国大学排名实例
  • 原文地址:https://www.cnblogs.com/wanqingcui/p/10845980.html
Copyright © 2011-2022 走看看