CSS3中的Flex布局是一種非常方便、靈活的布局方式,可以讓我們輕松地實現(xiàn)各種復(fù)雜布局。但是在Flex布局中,如何實現(xiàn)元素的縮小是一個需要注意的問題。
.flex-container { display: flex; flex-wrap: wrap; } .flex-item { width: 200px; height: 200px; margin: 10px; flex: 1; } @media only screen and (max-width: 600px) { .flex-item { flex: 0 0 45%; } }
在上述代碼中,我們使用了Flex布局來定義一個容器和若干個項目。容器使用了display: flex;
來聲明為Flex容器,項目使用了flex: 1;
來平均分配剩余空間。
在移動端設(shè)備上,我們希望項目不再平均分配空間,而是縮小一些來適應(yīng)較小的屏幕。這時候我們可以使用flex-basis
來指定項目的基礎(chǔ)大小,以及flex-shrink
來指定項目的縮小比例。
在上述代碼中,我們使用@media
查詢來針對屏幕寬度小于600像素的設(shè)備重新定義項目的flex
屬性。其中,flex: 0 0 45%;
表示項目的基礎(chǔ)大小為45%,且不允許縮放。這樣,當(dāng)設(shè)備屏幕縮小時,項目會自動縮小以適應(yīng)屏幕大小。