日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

子元素自动填充父容器, 并且会自动折行- dispaly: grid

發布時間:2023/12/29 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 子元素自动填充父容器, 并且会自动折行- dispaly: grid 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很多時候,我們都需要這樣的布局

  • 父元素寬度是resizable
  • 子元素個數不確定
  • 子元素無論都少寬度都可以自動填充父元素 當子元素過多時,
  • 子元素可以自動折行
  • 每行的子元素寬度一置,都是左對齊
    如圖:
  • 如果實現以上的1-4的需求,我們完全可以用dispaly:flex;來實現,如:

    <style>.parent {width: 40%;border: 3px solid #567856;display: flex;flex-wrap: wrap;}.parent>div {flex: 1;border: 2px solid #567fff;min-width: 140px;height: 200px;margin: 10px;} </style><body><div class="parent"><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div> </body>

    效果圖如下:

    我們發現這確實滿足了我們需求的1,2,3,4 但是,你會發現第一行與第二行元素不是對齊的,這樣就不滿足我們的需求5了,所以我們換一種布局方式,就是dispaly: grid

    <style>.parent {width: 40%;border: 3px solid #567856;display: grid;grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));gap: 10px;padding: 10px;}.parent>div {border: 3px solid #567fff;height: 150px;} </style><body><div class="parent"><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div> </body>

    效果圖:

    這樣就實現了。

    下面我們來區分一下auto-fit 與auto-fill 實現效果的區別吧。
    在上面的例子中auto-fit 與auto-fill 效果是一樣的,讓我們刪掉一些div,只留3個子元素試試吧。

    <style>.parent {width: 40%;border: 3px solid #567856;display: grid;grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); // repeat(auto-fit, minmax(140px, 1fr));gap: 10px;padding: 10px;}.parent>div {border: 3px solid #567fff;height: 150px;} </style> <body><div class="parent"><div></div><div></div><div></div></div> </body>

    其中grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); 效果如圖

    而grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); 效果如圖

    這下我們明顯看到區別了吧。

    注:auto-fit和auto-fill只有在容器寬度大于子元素的最小寬度總和時才有顯示區別。

    auto-fill 最后一步是會保留空軌道留白,不會折疊空軌道,而auto-fit則把空白軌道的空間全部平均分配給了有元素的軌道, 所以auto-fit的最后一步是,折疊空軌道,將空軌道的空間全部平均分配給已有元素的軌道,不留空白。

    總結

    以上是生活随笔為你收集整理的子元素自动填充父容器, 并且会自动折行- dispaly: grid的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。