亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Flex-box:將最后一行與網格對齊。

Flex-box:將最后一行與網格對齊。

慕絲7291255 2019-06-23 16:22:24
Flex-box:將最后一行與網格對齊。我有一個簡單的彈性箱布局,容器如下:.grid {   display: flex;   flex-flow: row wrap;   justify-content: space-between;}現在,我希望最后一行中的項目與另一行對齊。justify-content: space-between;應該使用,因為網格的寬度和高度可以調整。目前看來在這里,我希望右下角的項目在“中間欄”。實現這一目標的最簡單方法是什么?這里有一個小的小提琴這表明了這種行為。.exposegrid {  display: flex;  flex-flow: row wrap;  justify-content: space-between;}.exposetab {  width: 100px;  height: 66px;  background-color: rgba(255, 255, 255, 0.2);  border: 1px solid rgba(0, 0, 0, 0.4);  border-radius: 5px;  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);  margin-bottom: 10px;}<div class="exposegrid">  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div>  <div class="exposetab"></div></div>
查看完整描述

3 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

一種方法是插入多個額外的元素(盡可能多的元素數),這些元素被賦予零高度??臻g仍然是分裂的,但多余的行卻一文不值:

http://codepen.io/dalgard/pen/Dbnus

body {

  padding: 5%;

}


div {

  overflow: hidden;

  background-color: yellow;

}


ul {

  display: flex;

  flex-wrap: wrap;

  margin: 0 -4px -4px 0;

  list-style: none;

  padding: 0;

}


li {

  flex: 1 0 200px;

  height: 200px;

  border-right: 4px solid black;

  border-bottom: 4px solid black;

  background-color: deeppink;

}

li:empty {

  height: 0;

  border: none;

}


*,

:before,

:after {

  box-sizing: border-box;

}

<div>

  <ul>

    <li>a</li>

    <li>b</li>

    <li>c</li>

    <li>d</li>

    <li>e</li>

    <li>f</li>

    <li>g</li>

    <li>h</li>

    <li>i</li>

    <li>j</li>

    <li>k</li>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

    <li></li>

  </ul>

</div>

在將來,通過使用多個::after(n).


查看完整回答
反對 回復 2019-06-23
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

正如其他海報所提到的,沒有干凈的方法使最后一行與柔性盒對齊(至少按照當前的規范)。

然而,對于它的價值:使用CSS網格布局模塊令人驚訝的是,這很容易產生:

基本上,相關的代碼歸結為:

ul {
  display: grid; /* 1 */
  grid-template-columns: repeat(auto-fill, 100px); /* 2 */
  grid-gap: 1rem; /* 3 */
  justify-content: space-between; /* 4 */}

1)使容器元素成為網格容器

2)設置寬度為100 px的自動列的網格。(注意使用自動填充(以.為目的)auto-fit-它(對于1行布局)將空軌道折疊為0-導致項目展開以占用剩余空間。這將導致一個合理的“間隔”布局時,網格只有一行,在我們的情況下,這不是我們想要的。(退房這個演示(看他們之間的區別)。

3)為網格行和列設置間隙/排水溝-在這里,因為希望在布局之間有“間隔”,所以間隙實際上是最小的間隙,因為它會根據需要增長。

4)與柔性箱相似。

ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, 100px);
  grid-gap: 1rem;
  justify-content: space-between;
  
  /* boring properties */
  list-style: none;
  background: wheat;
  padding: 2rem;
  width: 80vw;
  margin: 0 auto;}li {
  height: 50px;
  border: 1px solid green;}
<ul>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li>
  <li></li></ul>

Codepen演示(調整大小以查看效果)


查看完整回答
反對 回復 2019-06-23
  • 3 回答
  • 0 關注
  • 563 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號