這篇文章為大家帶來了關於css的相關知識,其中主要介紹了關於css伸縮盒佈局的相關問題,一個元素設定CSS 屬性display:flex 或者display:inline-flex ,該元素就變成伸縮容器,下面一起來看一下,希望對大家有幫助。
伸縮盒子佈局
1 伸縮容器與伸縮項目
#伸展容器: 一個元素設定CSS 屬性display:flex
或display:inline-flex
,該元素就變成伸縮容器。
伸縮項目: 伸縮容器的子元素就是伸縮項目。
伸縮項目的特性:
- 伸縮項目會在伸縮容器預設中水平排列。
- 伸縮項目可以設定寬高、內外邊距且不存在外邊距塌陷, 不會脫離文件流,具有伸縮性。
- 一個元素可以同時是伸縮項目和伸縮容器。
2 設定主軸方向與換行方式
#主軸: 伸縮項目沿著主軸排列, 預設的主軸方向是從左到右。
側軸: 與主軸垂直的軸叫側軸,側軸方向隨主軸方向變化。
設定主軸方向
給伸縮容器給CSS 屬性flex-direction 可以設定主軸方向,值如下:
row 水平从左到右,默认值 row-reverse 水平从右到左 column 垂直从上到下 column-reverse 垂直从下到上
設定換行方式
給伸縮容器CSS 屬性flex-wrap 可以設定伸縮項目在主軸方向上的換行方式,屬性的值如下:
nowrap 默认值,不换行 wrap 自动换行 wrap-reverse 自动换行,行翻转
同時設定主軸方向和換行方式
flex-flow 是flex-directrion 和flex-wrap 的複合屬性,可以同時設定主軸方向和換行方式。
flex-flow 可以設定 1 個值也可以設定 2 個值(兩個值之間沒有順序要求)。
3 設定伸縮項目在主軸上的對齊方式
給伸縮容器設定justify-content 屬性,可以設定伸縮項目在主軸上的對齊方式,屬性的值如下:
flex-start 默认值,主轴起始对齐 flex-end 主轴结束对齐 center 居中 space-between 两端没有空隙,中间有空隙 space-around 两端空隙是中间空隙的一半 space-enenly 两端空隙与中间空隙相等
4 設定伸縮項目在側軸上的對齊方式
一條主軸線(伸縮項目在主軸上不換行)
給伸縮容器設定align-items 屬性進行設置,屬性值如下:
stretch 默认值,伸缩项目在侧轴方向的长度(高度)在侧轴方向拉伸(不设置在侧轴方向的长度,才会生效) flex-start 侧轴起点对齐 flex-end 侧轴终点对齐 center 居中对齐 baseline 文本基线对齐
多條主軸線(伸縮項目在主軸上發生換行)
給予伸縮容易設定align-content 屬性進行設置,屬性值如下:
strecch 默认值 flex-start 侧轴起点对齐 flex-end 侧轴终点对齐 center 居中对齐 space-between 两端没有空隙,中间有空隙 space-around 两端空隙是中间空隙的一半 space-enenly 两端空隙与中间空隙相等
#總結:
- align-content 實際上設定的是多條主軸之間如何對齊。
- align-items 屬性不論一條主軸線或多條主軸線都會起作用;但是 align-content 只對多條主軸線情況下起作用。
5 伸縮項目的伸縮性
#伸展項目在主軸上的基準長度flex-basis
#flex-basis 指定長度可以設定該伸縮項目在主軸上的長度。
如果沒有設定 flex-basis,伸縮項目在主軸上的長度取決於所設定的 width 或 height。
擴展比率 flex-grow
指定數字表示擴展的比率,該屬性的預設值是 0。
伸縮項目發生擴展的前提: 伸縮容器在主軸方向向上有富餘的長度。
伸縮項目進行擴展的時候只考慮伸縮項目的擴展比率。
縮比 flex-shrink
指定數字表示縮小的比率,該屬性的預設值是 1。
伸縮項目發生收縮的前提: 伸縮容器在主軸方向上長度不足。
伸縮項目進行收縮既要考慮收縮比率,也要考慮收縮項目原來在主軸上的長度。
flex 複合屬性
同時設定擴展比率、收縮比率、主軸基準長度,設定規則如下:
flex: grow shrink basis;flex: 0 1 auto; /* 扩展比率是0,收缩比率是1,基准值是auto */
flex: 1; /* flex: 1 1 0; */flex: auto; /* flex: 1 1 auto; */flex: none; /* flex: 0 0 auto 不伸不缩*/flex: 0 auto; /* flex: 0 1 auto */
6 伸縮項目排序
使用order 屬性設定伸縮項目的排序,值是數字,數字越小排序越靠前,可以是負值。預設值是 0。
order: 1;
7 單獨設定伸縮項目在側軸上的對齊方式
給伸縮項目設定屬性align-self 可以單獨設定該伸縮項目在側軸上的對齊方式,屬性的值與align-items 一致。
8 伸縮盒相關CSS 屬性總結
設定給伸縮容器的屬性
CSS屬性名稱 | 意義 | 值 |
---|---|---|
#display | 設定伸縮容器 | flex:區塊級伸縮容器。 **inline-flex:**行內伸縮容器。 |
flex-direction | 設定主軸方向 |
row: 預設值,水平從左到右。 row-reverse: 水平從右到左。 column: 垂直從上到下。 **column-reverse:**垂直從下往上 |
flex-wrap | 設定換行方式 |
nowrap : 預設值,不換行。 wrap: 自動換行。 wrap-reverse: 自動換行且行翻轉。 |
flex-flow | 同時設定主軸方向和換行方式 | flex-dierection 和flex-wrap 的值 |
#justify-content | 設定伸縮項目在主軸上的對齊方式 |
flex-start: 主軸起點對齊。 flex-end: 主軸終點對齊。 center: 居中對齊。 space-between: 兩端無空隙,中間有空隙。 **space-around:**兩端空隙是中間空隙的一半。 **space-evenly:**兩端空隙與中間空隙一致。 |
align-items | 設定伸縮項目在側軸上的對齊方式(適用於一條主軸線) |
stretch: 預設值,在側軸上拉伸。 flex-start: 側軸起點對齊。 flex-end: 側軸終點對齊。 center: 居中對齊。 baseline: 基線對齊。 |
align-content | 設定伸縮項目在側軸上的對齊方式(適用於多條主軸線) |
stretch: 預設值,在側軸上拉伸。 flex-start: 側軸起點對齊。 flex-end: 側軸終點對齊。 center: 居中對齊。 space-between: 兩端無空隙,中間有空隙。 **space-around:**兩端空隙是中間空隙的一半。 **space-evenly:**兩端空隙與中間空隙一致。 |
設定給伸縮項目的屬性
CSS 屬性名稱 | 意義 | 值 |
---|---|---|
flex-grow | 擴展比率 | 數字,預設值是0 |
flex-shrink | 縮比率 | 數字,預設值是1 |
flex-basis | 在主軸上的基準長度 | 指定長度,預設值是auto |
#flex | ##複合屬性,同時設定grow shrink basisgrow shrink basis | |
伸展項目的排序 | 數字,預設值是0 | |
單獨設定伸縮項目在側軸上的對齊方式 | **auto:**預設值,依照伸縮容器的設定。 |
stretch: 預設值,在側軸上拉伸。 flex-start: 側軸起點對齊。 flex-end: 側軸終點對齊。 center: 居中對齊。 baseline: 基線對齊。 |
以上是CSS伸縮盒佈局(總結分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

如果您正在尋找WebPack的替代捆綁包,則可能需要查看Fusebox。它建立在WebPack提供的基礎上 - 代碼拆分,熱

最近,Svelte周圍有很多當之無愧的炒作,該項目累積了24,000多個Github星星。可以說是最簡單的JavaScript

在本週的綜述中:多列佈局獲得廣泛的支持,ADA意味著更多的零售商,而Google正在對所有空圖像做些事情

這是我在Dev上寫的一篇Quickie文章中更新的交叉點。 i' m在此處出版' cuz i' m ash lir Indieweb。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版
好用的JavaScript開發工具