均分布局(等比布局)

最近有朋友问我布局问题。要点:怪异盒模型。写波笔记〜〜〜

有一个 ul 下面有 5个 li ,前四个 li 右边有 20的边距。最后一个 li 没有边距。求均分?

效果图如下 :

 

 

 

方法如下:

方法一:

 

<ul>

    <li><div></div></li>

    <li><div></div></li>

    <li><div></div></li>

    <li><div></div></li>

    <li><div></div></li>

</ul>

    ul {

        width: 100%;

        height: 210px;

        display: flex;

    }

    li {

        width: 100%;

        height: 100%;

        list-style: none;

        width: calc((100%-80px)/5);

        margin-right: 20px;

    }

    li > div {

        width: 100%;

        height: 100%;

    }

    li:last-child {

        margin: 0;

    }

方法二:

 

<ul>

    <li><div></div></li>

    <li><div></div></li>

    <li><div></div></li>

    <li><div></div></li>

    <li><div></div></li>

</ul>

    ul {

        width: 100%;

        height: 210px;

        background: orange; 

        display: flex

    }

    li {

        width: 100%;

        height: 100%;

        list-style: none;

        width: calc(100%/5);

        margin-right: 20px;

        box-sizing: border-box;

    }

    li > div {

        width: 100%;

        height: 100%;

        background: red;

  }

  li:nth-last-child(1){

        margin-right: 0;

  }

方法三:

 

    <div id="drap">

      <div class="big"></div>

      <div class="small"></div>

      <div class="big"></div>

      <div class="small"></div>

      <div class="big"></div>

      <div class="small"></div>

      <div class="big"></div>

      <div class="small"></div>

      <div class="big"></div>

    </div>

      #drap{

        width: 100%;

        height: 200px;

        /* float: right; */

        display: flex;

      }

      .big{

        width: calc((100%-80) / 5);

        height: 200px;

        background-color: aqua;

      }

      .small{

        width: 20px;

        height: 200px;

        background-color: red;

      }