<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          頁面中有間隔的方格布局如何完美實現(xiàn)?

          共 1547字,需瀏覽 4分鐘

           ·

          2020-12-08 01:30

          來源 | https://juejin.cn/post/6897794764444762120

          典型的布局示例:


          如上圖所示的布局,方格中間有一定的間隙,間隙是固定的。應(yīng)該如何布局會更加完美呢,比如要保證在布局完成的情況下,可以快速的添加一個元素依然保持這樣的布局。以及當出現(xiàn)第二行的時候,這樣的布局依然能夠不受影響。又不用修改太多的內(nèi)容。

          設(shè)置寬為100%和塊元素的默認寬度

          現(xiàn)在在這里說一個問題,就是塊元素的寬度默認是占滿一行,我們很容易和給元素設(shè)置100%混淆。其實呢,這兩個雖然表現(xiàn)上很容易讓我們以為他們展現(xiàn)的效果是一樣的,因為這兩種方式都是占滿了父元素。但是他們之間還是有很大的區(qū)別的。
          他們的區(qū)別主要在于元素的寬度是隨著什么而變化的,如果設(shè)置100%的話,那么該元素的width始終是和父元素保持一致的,給該元素設(shè)置的margin是不會影響該元素width變化的。當然僅有父元素的寬度會影響該元素的width變化。如果不設(shè)置寬的話,塊元素是獨占一行的,那么該元素的width,不僅受父元素的影響,也受該元素的margin的影響。

          獨占一行的塊元素的寬設(shè)置margin的影響

          記住以下兩條規(guī)律
          1. 當給一個未設(shè)置寬的塊級元素,設(shè)置了margin(水平方向)的話,那么margin值(正值)加上改元素的width的和等于父元素的寬度

          2. 當給一個未設(shè)置寬的塊級元素,設(shè)置了margin(水平方向)的話,那么margin值(負值)剛好是該元素的寬度超出父元素的距離

          如下圖所示:
          規(guī)律1示例:


          規(guī)律2示例:

          解決方案

          劃分平均區(qū)域

          首先在一個橫向區(qū)域,平分了5份,且橫向排列,那么我們采用浮動的橫向排列,且平均把每個元素設(shè)置成20%。
          <ul class="list"> <li>li> <li>li> <li>li> <li>li> <li>li>ul>
          .list{ overflow: hidden;}.list li{ width: 20%; height: 100px; float: left;}

          在每個區(qū)域中放置內(nèi)容,通過margin-right隔出間隔

          <ul class="list"> <li> <div class="content">div> li> <li> <div class="content">div> li> <li> <div class="content">div> li> <li> <div class="content">div> li> <li> <div class="content">div> li>ul>
          .list{ overflow: hidden;}.list li{ width: 20%; height: 100px; float: left;}.content{ margin-right: 10px;}
          此時我們可以想象到,最后一個元素還多了一個10px的間距,那么最后一步就是如何解決這個間距的問題。

          拉伸父元素,隱藏尾部的間隙

          我們給list再套一個元素,讓list在其父元素下拉伸,剛好隱藏掉多余的部分。
          class="wrapper"> <ul class="list"> <li> <div class="content">div> li> <li> <div class="content">div> li> <li> <div class="content">div> li> <li> <div class="content">div> li> <li> <div class="content">div> li> ul></div>
          .wrapper{ width: 800px; overflow: hidden;}.list{ overflow: hidden; margin-right: -10px;}.list li{ width: 20%; height: 100px; float: left;}.content{ margin-right: 10px;}
          可以查看實際效果,最終能實現(xiàn)我們開頭所展示的效果!且這種布局方式有很多的擴展性,如果一行是4個,那么只需要把每個元素的寬設(shè)置為 25%,且在元素的個數(shù)中減去一個就行。
          本文完~

          瀏覽 16
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人三级视频在线观看 | 欧美草逼视频 | 800av在线播放 | 欧美一级黃色a片免费看视频 | 蜜桃视频精品在线 |