2017-04-14 67 views
5

我希望擺脫媒體查詢,只使用flexbox解決我的問題,但我不確定這是否可能。隨着窗口變小,我希望列縮小,直到達到最小寬度。一旦他們擊中了,中間的專欄將跳下來包裝。當flex項目包裝時,flexbox可以檢測到嗎?

我認爲我的問題歸結爲這 - 可以flexbox檢測它的包裝?如果是這樣,我可以提示它用嚴格的CSS來改變包裝上的物品順序嗎?

這裏是什麼,我的「M嘗試使用媒體查詢來完成一個codepen

.wrapper { 
 
    display: flex; 
 
    justify-content: center; 
 
    margin: 5px; 
 
    flex-wrap: wrap; 
 
} 
 

 
.red { 
 
    background-color: red; 
 
    height: 240px; 
 
    margin: 5px; 
 
    width: 500px; 
 
    order: 0; 
 
} 
 

 
.yellow { 
 
    background-color: yellow; 
 
    margin: 5px; 
 
    height: 240px; 
 
    min-width: 240px; 
 
    max-width: 400px; 
 
    flex: 1; 
 
    order: 1; 
 
} 
 

 
.blue { 
 
    background-color: blue; 
 
    height: 240px; 
 
    margin: 5px; 
 
    min-width: 350px; 
 
    max-width: 400px; 
 
    flex: 1; 
 
    order: 2; 
 
} 
 

 
@media (max-width:1130px) { 
 
    .yellow { 
 
    order: 4; 
 
    } 
 
}
<div class="wrapper"> 
 
    <div class="red"></div> 
 
    <div class="yellow"></div> 
 
    <div class="blue"></div> 
 
</div>

回答

1

可以Flexbox的檢測當Flex項目包裝?

號碼

在CSS中,一旦瀏覽器在最初的級聯中呈現頁面,當元素換行時它不會重排文檔。結果,父母元素不知道他們的孩子何時換行。

這就是爲什麼容器在包裝後不縮水以適應其內容。

這就是爲什麼你需要媒體查詢或JavaScript。

這裏有一些更多的細節:

相關問題