一、布局
布局就是對頁面的功能區域進行規劃與劃分,規定頁面元素的區域大小和位置。
二、布局方式
- table 布局
- div + css 布局
css : 1. float浮動 2.position定位(絕對 相對 固定)
3.flex 彈性盒布局
三、定位position
定位就是确定元素的位置,定位永遠沒有絕對的位置,都有參考系。
- 絕對定位 absolute
- 相對定位 relative
- 固定定位 fixed
定位時,修改元素位置,使用 top bottom left right 屬性。
一、絕對定位
頁面的視口(viewport:頁面的可見區域),top bottom left right:這四個屬性用于描述元素的四邊,距離視口的四邊的距離。
絕對定位參考系可以修改,在父元素上添加定位屬性,修改之後的參考系将變為父元素的上下左右邊框。
二、相對定位
使用定位前的初始位置,就是相對定位的參考位置,top bottom left right:這四個屬性用于描述元素初始位置到元素移動後的實際位置的距離。
三、固定定位
和絕對定位相同,但是無法修改參考系,top bottom left right:這四個屬性用于描述元素的四邊,距離視口的四邊的距離。
四、flex布局
在一個父元素下有多個子元素,同時需要對多個子元素進行排列時就可以使用flex布局。
父元素上的屬性
- display: flex 開啟flex布局
- justify-content: 主要軸對齊方式
- flex-start: 對齊主軸起點
- flex-end: 對齊主軸終點
- center:居中
- space-around: 子元素主軸上間距相等排列
- space-between: 兩端對齊,中間均勻分布
- space-evenly: 均勻分布
- align-items: 交叉軸對齊方式
- flex-start: 對齊交叉軸起點
- flex-end: 對齊交叉軸終點
- center:居中
- stretch:在交叉軸上拉伸填滿(前提是,元素的交叉軸的寬度或高度不固定)
- flex-direction: 設定主要軸方向
- row 從左到右
- row-reverse 從右到左
- column 從上到下
- column-reverse 從下到上
子元素上的屬性
- align-self: 目前子元素在交叉軸上的對齊方式, 取值和 align-items 相同
- flex-grow: 讓子元素成長,意思是,若主軸有剩餘空間,那麼子元素撐滿剩餘空間