美文网首页
仿京东pc端的一些收获

仿京东pc端的一些收获

作者: 普莱那 | 来源:发表于2017-06-02 12:02 被阅读60次
    当把某个元素的所有子元素设置为flex: 1;时,并不能保证每个子元素占用的宽度相等

    例如:

     *{
        box-sizing: border-box;
      }
    .container {
      width: 600px;
      height: 100px;
      background: #ccc;
      display: flex;
      .box {
        flex: 1;
        &:not(:last-child){
          border-right: 1px solid red;
        }
      }
    }
    <div class="container">
      <div class="box"></div>
      <div class="box"></div>
      <div class="box"></div>
      <div class="box"></div>
      <div class="box"></div>
      <div class="box"></div>
    </div>
    

    上面这段代码并不能保证每个.box元素的宽度都为60px;因为前5个元素都有一个border-right的属性,这个值为1,而最后一个元素并没有此值,所以前五个元素的宽度计算值其实为(600-5)/6 + 1;最后一个元素的宽度为(600-5)/6;

    • 也就是说,设置flex属性后,它真正计算时,会首先把占用宽度的确定的值抛去,然后在剩下的宽度中按比例分配。

    To be continued...

    相关文章

      网友评论

          本文标题:仿京东pc端的一些收获

          本文链接:https://www.haomeiwen.com/subject/ohxufxtx.html