鍍金池/ 問答/HTML/ css多列自適應(yīng)布局

css多列自適應(yīng)布局

如圖,要實現(xiàn)視頻列表區(qū)域根據(jù)頁面寬度自適應(yīng)。比如現(xiàn)在是三列顯示,當(dāng)頁面寬度縮小時,自動變成兩列,當(dāng)頁面寬度變大時,也相應(yīng)地變成多列顯示。每個視頻的寬高固定,間距固定,列表區(qū)域保持居中,列表上面左右兩邊的文字跟著兩端對齊。不使用js計算,只用css + rem如何實現(xiàn)?
clipboard.png

列表區(qū)域html結(jié)構(gòu):
clipboard.png

使用flex居中的話,最后一行如果沒有剛好鋪滿,則多出的視頻也居中了,但我要最后一行左對齊,也就是說視頻是從上到、下從左到右排下來的。因為列數(shù)是不確定的,所以也沒法對最后一行的視頻單獨設(shè)置flex屬性。
使用媒體查詢好像能做到,但又不知道怎么實現(xiàn)。

回答
編輯回答
法克魷

使用媒體查詢吧

2017年7月6日 07:06
編輯回答
焚音

如一樓所說,媒體查詢再適合不過,或者你想懶一點就用bootstrap的柵欄布局

2017年6月28日 11:39
編輯回答
陌璃

我感覺。不需要用到JS吧。
視頻展示區(qū)域設(shè)置最小min-width為一個視頻方格的寬度,然后width用百分比設(shè)置。
視頻方格float:left,最后用一個div clear: both撐大父元素。
然后瀏覽器縮小的時候,視頻展示區(qū)寬度縮小,不夠一排三個的寬度,float的特性使得視頻方格下排,然后由于最后一個clear父元素被拉長,形成一排兩個,共有三排的布局。

2018年4月19日 16:41
編輯回答
兔寶寶

用媒體查詢和calc就可以。
看這個代碼合適不
https://jsfiddle.net/codekoal...

2017年6月29日 06:56