布局分類
- 固定寬,一般為960 / 1000 / 1024 px
- 不固定寬,靠文檔流的原理布局
- 響應(yīng)式布局,PC上固定寬度,手機上不固定寬度
三種布局思路
1,float
元素浮動之后,它會被移出正常的文檔流,然后向左或者向右平移,一直平移直到碰到了所處的容器的邊框,或者碰到另外一個浮動的元素。
- 兼容IE9,不響應(yīng)式不給手機看
如果父元素里只有浮動元素,那它的高度會是0!想要它自適應(yīng)即包含所有浮動元素,需要清除它的子元素。
一種方法叫做clearfix,即clear一個不浮動的 [::after],CSS偽元素::after用來創(chuàng)建一個偽元素,作為已選中元素的最后一個子元素。通常會配合content屬性來為該元素添加裝飾內(nèi)容。這個虛擬元素默認(rèn)是行內(nèi)元素,偽元素。
給父元素加clearfix見下方:
container::after {
content: "";
display: block;
clear: both;
}
2,flex
flex 規(guī)定了彈性元素如何伸長或縮短以適應(yīng)flex容器中的可用空間,必要時用負(fù)margin。
.container{
display:flex; /*or inline-flex*/
}
改變items流動方向
flex-direction:
row //行正排列,從左到右
row-reverse //行-逆排列,右到左
column //列-正排列
column-reverse //列-逆排列
改變折行
flex-warp:
nowrap,不折行
wra,折行
wrap-reverse ,反折行
改變主軸對齊方式
justify-content:
flex-start
flex-end
center
space-between
space-around
space-evenly
改變次軸對齊方式
align-items:
flex-start
flex-start
flex-end
center
stretch
baseline
多行內(nèi)容
align-content:
flex-start
flex-end
center
stretch
space-between
space-around
3,grid
CSS Grid 網(wǎng)格布局教程 - 阮一峰的網(wǎng)絡(luò)日志
網(wǎng)格布局(Grid)是最強大的 CSS 布局方案。
它將網(wǎng)頁劃分成一個個網(wǎng)格,可以任意組合不同的網(wǎng)格,做出各種各樣的布局。
以前,只能通過復(fù)雜的CSS框架達(dá)到的效果,現(xiàn)在瀏覽器內(nèi)置了。但目前只兼容最新的瀏覽器