溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

div彈性布局的方法

發(fā)布時間:2022-03-03 16:32:48 來源:億速云 閱讀:246 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“div彈性布局的方法”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

彈性布局,又稱“Flex布局”,是由W3C老大哥于2009年推出的一種布局方式??梢院啽?、完整、響應(yīng)式地實(shí)現(xiàn)各種頁面布局。而且已經(jīng)得到所有主流瀏覽器的支持,我們可以放心大膽的使用。

>>> 了解兩個基本概念,接下來會頻繁提到:

① 容器: 需要添加彈性布局的父元素;

② 項目: 彈性布局容器中的每一個子元素,稱為項目;

>>> 了解兩個基本方向,這個牽扯到彈性布局的使用:

① 主軸: 在彈性布局中,我們會通過屬性規(guī)定水平/垂直方向為主軸;

② 交叉軸: 與主軸垂直的另一方向,稱為交叉軸。

① 給父容器添加display: flex/inline-flex;屬性,即可使容器內(nèi)容采用彈性布局顯示,而不遵循常規(guī)文檔流的顯示方式;

② 容器添加彈性布局后,僅僅是容器內(nèi)容采用彈性布局,而容器自身在文檔流中的定位方式依然遵循常規(guī)文檔流;

③ display:flex; 容器添加彈性布局后,顯示為塊級元素;

display:inline-flex; 容器添加彈性布局后,顯示為行級元素;

④ 設(shè)為 Flex布局后,子元素的float、clear和vertical-align屬性將失效。但是position屬性,依然生效。

【代碼實(shí)例】

div彈性布局的方法

div彈性布局的方法

五個簡單的div,只給父容器添加了display: flex;屬性,就可以讓容器內(nèi)部打破原有文檔流模式,展現(xiàn)為彈性布局。

div彈性布局的方法

簡單的了解一下彈性布局后,我們來詳解一下配合“display: flex;”使用的12大屬性。其中,12個屬性分為兩類,6個作用于父容器,6個作用于子項目。

① flex-direction屬性決定主軸的方向(即項目的排列方向)。

row(默認(rèn)值): 主軸為水平方向,起點(diǎn)在左端;

row-reverse: 主軸在水平方向,起點(diǎn)在右端 ;

column:主軸為垂直方向,起點(diǎn)在上沿。

column-reverse:主軸為垂直方向,起點(diǎn)在下沿。

div彈性布局的方法

② flex-wrap屬性定義,如果一條軸線排不下,如何換行。

nowrap(默認(rèn)):不換行。當(dāng)容器寬度不夠時,每個項目會被擠壓寬度;

wrap: 換行,并且第一行在容器最上方;

wrap-reverse: 換行,并且第一行在容器最下方。

div彈性布局的方法

③ flex-flow 是flex-direction和flex-wrap的縮寫形式,默認(rèn)值為:flex-flow: row wrap; 不做過多解釋

④ justify-content屬性定義了項目在主軸上的對齊方式。

>>> 此屬性與主軸方向息息相關(guān)。 主軸方向為:row-起點(diǎn)在左邊,row-reverse-起點(diǎn)在右邊, column-起點(diǎn)在上邊,column-reverse-起點(diǎn)在下邊

flex-start(默認(rèn)值): 項目位于主軸起點(diǎn)。

flex-end:項目位于主軸終點(diǎn)。

center: 居中

space-between:兩端對齊,項目之間的間隔都相等。(開頭和最后的項目,與父容器邊緣沒有間隔)

space-around:每個項目兩側(cè)的間隔相等。所以,項目之間的間隔比項目與邊框的間隔大一倍。(開頭和最后的項目,與父容器邊緣有一定的間隔)

div彈性布局的方法

⑤ align-items屬性定義項目在交叉軸上如何對齊。

flex-start:交叉軸的起點(diǎn)對齊。

flex-end:交叉軸的終點(diǎn)對齊。

center:交叉軸的中點(diǎn)對齊。

baseline: 項目的第一行文字的基線對齊。(文字的行高、字體大小會影響每行的基線)

stretch(默認(rèn)值):如果項目未設(shè)置高度或設(shè)為auto,將占滿整個容器的高度。

div彈性布局的方法

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

(當(dāng)項目換為多行時,可使用align-content取代align-items)

flex-start:與交叉軸的起點(diǎn)對齊。

flex-end:與交叉軸的終點(diǎn)對齊。

center:與交叉軸的中點(diǎn)對齊。

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

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

stretch(默認(rèn)值):軸線占滿整個交叉軸。

div彈性布局的方法

① order屬性定義項目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0。

div彈性布局的方法

② flex-grow屬性定義項目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。

div彈性布局的方法

③ flex-shrink屬性定義了項目的縮小比例,默認(rèn)為1,即如果空間不足,該項目將縮小。

div彈性布局的方法

④ flex-basis定義項目占據(jù)的主軸空間。(如果主軸為水平,則設(shè)置這個屬性,相當(dāng)于設(shè)置項目的寬度。 原width將會失效。

div彈性布局的方法

⑤ flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,默認(rèn)值為0 1 auto。后兩個屬性可選。

此屬性有兩個快捷設(shè)置:auto=(1 1 auto)/none=(0 0 auto)

⑥ align-self:定義單個項目自身在交叉軸上的排列方式,可以覆蓋掉容器上的align-items屬性。

屬性值:與align-items相同,默認(rèn)值為auto,表示繼承父容器的align-items屬性值。

div彈性布局的方法

最后,所有的源碼附上,需要的同學(xué)自行測試哦~

div彈性布局的方法

瑞講堂|5個div讓你學(xué)會彈性布局

div彈性布局的方法

“div彈性布局的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

div
AI