<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
問題情境:
在flex佈局下,多行排列,如何讓flex佈局最後一行沒有排滿時,向左對齊排列且與上面的行間距相同。
實現效果:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <style type="text/css"> li { list-style: none; } .List { width: 100%; box-sizing: border-box; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 10px; } .List:after{ content: ""; flex: auto; } .item { /* 寬度是固定好的 */ width: 220px; height: 60px; background-color: azure; margin-bottom: 10px; border: 1px solid red; /*這個數值需要自己去調*/ margin-right: 17px; } .item:nth-child(5n){ /* 儘量讓item在list中居中,兩邊都沒有margin */ margin-right: 0; } </style> <body> <div id="" style="width: 1200px;margin: auto;background-color: #cccccc;height: 500px;"> <ul class="List"> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> </ul> </div> </body> </html>
重要程式碼:要加after以及每個item的margin-right
.List:after{ content: ""; flex: auto; }
在用flex佈局的時候遇到了下面這種問題,這是我的結構
<div class="videoMain"> <div class="video" v-for="num in 8" :key="num"></div> </div>
.videoMain{ display: flex; flex-wrap: wrap; justify-content: space-between; align-content: flex-start; height: 100%; overflow-y: auto; .video{ width: 342px; height: 210px; margin-bottom:10px; background-color: cyan; } }
當我使用 justify-content:space-between 或者 space-around 的時候頁面效果是這樣的
很明顯最後一行的三個元素我想讓他左對齊,看到網上有說給父級元素加上偽類,我試了試
.videoMain{ display: flex; flex-wrap: wrap; justify-content: space-between; align-content: flex-start; width: 100%; height: 100%; overflow-y: auto; .video{ width: 342px; height: 210px; margin-bottom:10px; background-color: cyan; } i{ width: 342px; } } .videoMain::after{ content: ''; flex: auto; // 或者1 }
最後效果是這樣的,最後一行都連上了(第一張圖),也沒有達到我想要的左對齊的效果,寫margin-right之後和上面的又不對齊了(第二張圖),不知道為什麼別人說的就可以,有知道的也可以評論告訴我。
加了3個i標籤,並把它的寬度設定的和.video的寬度一樣,沒有高度,這樣的做的目的是最後一行差的給它補上,所以它會自動對齊,又因為沒有寫高度,所以頁面中什麼也不會顯示
<div class="videoMain"> <div class="video" v-for="num in 8" :key="num"></div> <i v-for="num in 3" :key="num"></i> </div>
i{ width: 342px; }
這樣就實現了底部和上面對齊的效果啦!
解釋一下為什麼我加了三個 i 標籤
因為我的滿行最多是五個div,底部多出一個div的時候,效果是沒有影響的,當底部多出兩個div的時候,顯示在最前面和最後面的位置,這個不是我預期的效果,所以需要新增三個 i 標籤來補齊,當底部是三個div的時候,同一行後面跟著兩個 i 標籤,下一行又有一個 i 標籤,但是由於 i 標籤沒有高度,所以就和沒有一樣,視覺上就實現了我們想要的效果,無論頁面的寬度怎麼變,效果是不變的。
最近uni-app開發出現一個頁面效果:多行三列左右對齊,超出換行左對齊,網上查了很多都沒有能有效解決這個問題,而且這個在手機app上屬於比較特殊的情況,UI效果:
我這裡就講自己如何解決這個問題:
首先一個問題考慮到最後一行不滿的情況,如果使用左右兩端對齊,很明顯最後一行,如果是兩列
呢?例如這個:
此時,就不滿足左對齊了!
這個情況是會遇到的。比如,我們用v-for迴圈渲染內容,後臺隨機增加標籤內容,就無法避免出現上面兩端對齊的問題了!
所以考慮到特殊情況作了如下改動,上程式碼:
<view class="itemBox"> <view class="item"> 儀表儀器 </view> <view class="item"> 儀表儀器 </view> <view class="item"> 儀表儀器 </view> <view class="item"> 儀表儀器 </view> <view class="item"> 儀表儀器 </view> <view class="item"> 儀表儀器 </view> </view>
.itemBox { width: auto; display: flex; /* 兩端對齊 */ justify-content: space-between; flex-wrap: wrap; .item { width: 32.5%; height: 60rpx; text-align: center; line-height: 60rpx; background-color: #F2F2F2; font-size: 32rpx; font-family: PingFang SC; font-weight: 400; margin-top: 20rpx; } /* 如果最後一行是3個元素 */ .item:last-child:nth-child(3n - 1) { margin-right: calc(32.5% + 3% / 3); } /* 如果最後一行是2個元素 */ .item:last-child:nth-child(3n - 2) { margin-right: calc(65% + 6% / 3); } }
最後效果:
很完美的解決了最後一行不滿一列、兩列不是左對齊的情況!
以上就是flex佈局下兩端對齊,不滿左對齊的詳細內容,更多關於flex佈局下兩端對齊,不滿左對齊的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45