flex是一種彈性布局,響應式地實現各種頁面布局

2021-10-07 20:29:53 字數 2398 閱讀 1198

二:專案的屬性

2023年,w3c 提出了一種新的方案----flex 布局,可以簡便、完整、響應式地實現各種頁面布局。

採用 flex 布局的元素,稱為 flex 容器(flex container),簡稱"容器"。它的所有子元素自動成為容器成員,稱為 flex 專案(flex item),簡稱"專案"。

flex-direction

flex-wrap

flex-flow

justify-content

align-items

align-content

flex-direction屬性決定主軸的方向(即專案的排列方向)。

它可能有4個值。flex-direction: row | row-reverse | column | column-reverse;

row(預設值):主軸為水平方向,起點在左端。

row-reverse:主軸為水平方向,起點在右端。

column:主軸為垂直方向,起點在上沿。

column-reverse:主軸為垂直方向,起點在下沿。

預設情況下,專案都排在一條線(又稱"軸線")上。flex-wrap屬性定義,如果一條軸線排不下,如何換行。

它可能有3個值。flex-wrap: nowrap | wrap | wrap-reverse;

nowrap(預設):不換行。

wrap:換行,第一行在上方。

wrap-reverse:換行,第一行在下方。

flex-flow屬性是flex-direction屬性和flex-wrap屬性的簡寫形式,預設值為row nowrap。

.box

justify-content屬性定義了專案在主軸上的對齊方式。

它可能有5個值。justify-content: flex-start | flex-end | center | space-between | space-around;

flex-start(預設值):左對齊

flex-end:右對齊

center: 居中

space-between:兩端對齊,專案之間的間隔都相等。

space-around:每個專案兩側的間隔相等。所以,專案之間的間隔比專案與邊框的間隔大一倍。

align-items屬性定義專案在交叉軸上如何對齊。

.box

它可能取5個值。具體的對齊方式與交叉軸的方向有關,下面假設交叉軸從上到下。

flex-start:交叉軸的起點對齊。

flex-end:交叉軸的終點對齊。

center:交叉軸的中點對齊。

baseline: 專案的第一行文字的基線對齊。

stretch(預設值):如果專案未設定高度或設為auto,將佔滿整個容器的高度。

align-content屬性定義了多根軸線的對齊方式。如果專案只有一根軸線,該屬性不起作用。

.box

flex-start:與交叉軸的起點對齊。

flex-end:與交叉軸的終點對齊。

center:與交叉軸的中點對齊。

space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。

space-around:每根軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。

stretch(預設值):軸線佔滿整個交叉軸。

6個屬性設定在專案上。

order

flex-grow

flex-shrink

flex-basis

flex

align-self

order屬性定義專案的排列順序。數值越小,排列越靠前,預設為0。

.item

flex-grow屬性定義專案的放大比例,預設為0,即如果存在剩餘空間,也不放大。

.item

flex-shrink屬性定義了專案的縮小比例,預設為1,即如果空間不足,該專案將縮小。

.item

負值對該屬性無效。

flex-basis屬性定義了在分配多餘空間之前,專案佔據的主軸空間(main size)。瀏覽器根據這個屬性,計算主軸是否有多餘空間。它的預設值為auto,即專案的本來大小。

.item

flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,預設值為0 1 auto。後兩個屬性可選。

.item

該屬性有兩個快捷值:auto (1 1 auto) 和 none (0 0 auto)。

建議優先使用這個屬性,而不是單獨寫三個分離的屬性,因為瀏覽器會推算相關值。

align-self屬性允許單個專案有與其他專案不一樣的對齊方式,可覆蓋align-items屬性。預設值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同於stretch。

.item

響應式資料及彈性布局

響應式 設計 的理念集中建立頁面的排版大小,可以智慧型的根據使用者的行為以及使用裝置的環境 系統平台,螢幕尺寸,螢幕定向等 進行相對應的自適應布局。簡單來說就是 同一頁面在不同螢幕尺寸下有不同的布局。原理 動態的根據當前螢幕的寬度,動態的改變也買你盒子的寬度,盒子的顯示或者隱藏。html響應式布局實...

自適應網頁 響應式布局 彈性布局

1.自適應網頁 1.宣告viewport元標籤 注 width device width 讓寬度為裝置寬度 initial scale 1 設定初始縮放比例 user scalable no 設定使用者是否可以手動縮放 2.使用流式布局 實現方案 float left display inline ...

響應式布局與彈性布局基礎篇

響應式布局是ethan marcotte在2010年5月份提出的乙個概念,簡而言之,就是乙個 能夠相容多個終端 而不是為每個終端做乙個特定的版本。這個概念是為解決移動網際網路瀏覽而誕生的。響應式布局可以為不同終端的使用者提供更加舒適的介面和更好的使用者體驗,而且隨著目前大螢幕移動裝置的普及,用 大勢...