CSS中的Flex布局

目錄

一.什么是Flex布局

二.Flex布局使用

2.1Flex使用語法

2.2基本概念

三.容器的屬性

3.1所有屬性概述

3.2flex-direction

3.3flex-wrap

3.4flex-flow

3.5justify-content

3.6align-items

3.7align-content

四.項目(子元素)的屬性

4.1所有屬性概述

4.2order

4.3flex-grow

4.4flex-shrink

4.5flex-basis

4.6flex

4.7align-self

一.什么是Flex布局

Flex布局可以:“簡便、完整、響應式”的實現各種頁面布局

Flex是“Flexible?box”的縮寫,意為“彈性布局”,用來為“盒子模型”提供“最大的靈活性

二.Flex布局使用

2.1Flex使用語法

任何一個容器都可以指定為Flex布局

使用方法

.box {display:flex;
}

行內元素也可以使用Flex布局

.box {display:inline-flex;
}

值得注意的是,使用Flex布局后,子元素的“float”、“clear”、“vertical-align”屬性將失效

2.2基本概念

采用Flex布局的元素,稱為Flex容器,簡稱“容器”,它的所有子元素自動成為容器成員,稱為Flex項目,簡稱“項目

容器默認存在兩根軸:“水平的主軸(main axis)”和“垂直的交叉軸(cross axis)

主軸開始位置(與邊框的交叉點)叫“main start”,結束位置叫“main end

交叉軸開始位置叫“cross start”,結束位置叫“cross?end

項目默認沿主軸排列,單個項目占據的主軸空間叫作“main size”,占據的交叉軸空間叫作“corss?size

簡化:“x軸為主軸”、“y軸為交叉軸

三.容器的屬性

3.1所有屬性概述

Flex容器一共有六大屬性,在這里我們給出:

  • flex-direction:內部元素的排列方式:從左到右、從右到左、從上到下、從下到上
  • flex-wrap:子元素的換行方式:不換行、換行(第一行在上面、第二行在上面)
  • flex-flow:子元素的排列方式和換行方式的簡寫
  • justify-content:子元素的水平對齊方式
  • align-items:子元素的垂直對齊方式
  • align-content:設置多個元素組成的整塊的對齊方式

3.2flex-direction

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

簡化

內部元素的排列方式---->(從左到右、從右到左、從上到下、從下到上)

.box {flex-direction:row | row-reverse | column | column-reverse;
}

圖示:

下面以一個代碼為例,表示四個方向的排列:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Flex</title></head><body><div class="div"><div class="divC" style="width: 100px;height: 100px;background-color: aqua;"></div><div class="divC" style="width: 100px;height: 100px;background-color: black;"></div><div class="divC" style="width: 100px;height: 100px;background-color: blue;"></div></div><style type="text/css">.div{/* 設置為flex布局 */display: flex;/* 默認:從左往右 */flex-direction: row;/* row(默認值):主軸為水平方向,起點在左端。row-reverse:主軸為水平方向,起點在右端。column:主軸為垂直方向,起點在上沿。column-reverse:主軸為垂直方向,起點在下沿。 */}</style></body>
</html>

上面的“flex-direction”為“row”時效果:

上面的“flex-direction”為“row-reverse”時效果:

上面的“flex-direction”為“column”時效果:

上面的“flex-direction”為“column-reverse”時效果:

3.3flex-wrap

默認情況下,項目都排在一條線(軸線)上,flex-wrap定義如果一條軸線排不下,如何換行

簡化

子元素的換行方式:不換行換行(第一行在上面、第二行在上面)

.box {flex-wrap:nowrap | wrap | warp-reverse;
}

nowraop(默認) 不換行

warp?換行(第一行在上)

wrap-reverse?換行(第二行在上)

3.4flex-flow

flex-flow屬性是flex-direction屬性和flex-wrap屬性的簡寫形式,默認值為:“row?nowrap

簡化

子元素排列方式換行方式的簡寫

.box {flex-flow:<flex-direction> || <flex-wrap>;
}

3.5justify-content

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

簡化

設置子元素的水平對齊方式

.box {justify-content:flex-start | flex-end | center | space-between | space-around;
}

圖示

詳細說明

  • flex-start(默認值):左對齊
  • flex-end:右對齊
  • center:居中
  • space-between:兩端對齊,項目之間的間隔相等
  • space-around:每個項目兩側的間隔相等,所以,項目之間的間隔比的項目與邊框的間隔大一倍

3.6align-items

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

簡化

設置子元素的垂直對齊方式

格式

.box {align-items:flex-start | flex-end | center | baseline | stretch;
}

圖示

詳細說明

  • flex-start:交叉軸的起點對齊(頂部對齊)
  • flex-end:交叉軸的終點對齊(底部對齊)
  • center:交叉軸的中點對齊(垂直對齊)
  • baseline:項目的第一行文字的基線對齊(基于內部第一行文本對齊)
  • stretch(默認值):如果項目未設置成高度或設為auto,將占滿整個容器的高度(高度占滿整個容器)

3.7align-content

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

簡化

設置多個元素組成的整塊的對齊方式

格式

.box {align-content:flex-start | flex-end | center | space-between | space-around | stretch;
}

圖示

詳細說明

  • flex-start:與交叉軸的起點對齊(頂部對齊)
  • flex-end:與交叉軸的終點對齊(底部對齊)
  • center:與交叉軸的中點對齊(居中對齊)
  • sapce-between:與交叉軸兩端對齊,軸線之間的間隔平均分布
  • space-around:每根軸線兩側的間隔相等,所以軸線之間的間隔比軸線與邊框之間的間隔大
  • stretch(默認值):軸線占滿整個交叉軸(高度占滿整個容器)

四.項目(子元素)的屬性

4.1所有屬性概述

  • order:按照數字大小設置各個元素之間的排列方式
  • flex-grow:按照權重分配剩余空間進行等比例放大
  • flex-shrink:按照權重進行等比例縮小
  • felx-basis:設置子元素原始所占主軸空間大小(寬度)
  • flex:設置放大、縮小和原始大小的縮寫,建議優先使用此方式
  • align-self:單獨設置特定元素的對齊方式,忽略“align-items”

4.2order

order屬性定義項目的排列順序數值越小,排列越靠前,默認為0

簡化

按照數字大小設置各個元素之間的排列方式

格式

.item {order:<integer>;
}

圖示

4.3flex-grow

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

簡化

按照權重分配剩余空間進行等比例放大

格式

.item{flex-grow:<number>;
}

提示

如果所有項目的flex-grow都為1,那么它們將均勻分配剩余空間

如果某個項目flex-grow2,其余項目為1,那么前者分配到的空間將比后者大一倍

圖示

4.4flex-shrink

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

簡化

按照權重進行等比例縮小

格式

.item{flex-shrink:<number>;
}

提示

負值是一個無效的數值

如果某個項目屬性值為0,那么該項目將不會縮小,而是讓其它項目縮小

圖示

4.5flex-basis

flex-basis屬性定義了在分配多余空間之前項目占據的主軸空間(main size)

瀏覽器根據這個屬性計算是否有多余空間,默認值為“auto”,即項目本來大小

簡化

設置子元素原始所占主軸空間大小(寬度)

提示

它可以設為跟width或height一樣的值,那么項目將會占據固定空間

格式

.item{flex-basis:<length> | auto;
}

4.6flex

flex屬性是flex-grow,flex-shrink,flex-basis的簡寫,默認值為“0 1?auto”,后兩個屬性可選

簡化

設置放大、縮小、原始大小的簡寫,建議優先使用該方式

提示

該屬性有兩個快捷值:“auto(1 1 auto)”、“none(0 0 auto)

建議優先寫這兩個快捷值

格式

.item {flex:none | [<flex-grow> <flex-shrink> <flex-basis>];
}

4.7align-self

align-self屬性允許單個項目與其他項目有不一樣的對齊方式,可以覆蓋“align-items”屬性

默認值為“auto”,表示繼承父元素的“align-items”屬性,如果沒有父元素,那么等同于“stretch

簡化

單獨設置特定元素的方式,忽略align-items

格式

.item {align-self:auto | flex-start | flex-end | center | baseline | stretch;
}

圖示

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15136.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15136.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15136.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

遺傳算法(Genetic Algorithm, GA)哪些步驟該丟給GPU

遺傳算法&#xff08;Genetic Algorithm, GA&#xff09;是一種啟發式搜索算法&#xff0c;受到生物進化的啟發。在遺傳算法中&#xff0c;種群中的每個個體代表問題的一個候選解&#xff0c;通過迭代選擇、交叉和變異操作&#xff0c;來模擬自然選擇和遺傳過程&#xff0c;從而…

九、OpenAI之圖片生成(Image generation)

學習用DALL.E的API怎樣生成和操作圖片 1 介紹 圖片API提供3個方法來和圖片進行交互&#xff1a; 從0開始基于文字提示創建圖片(DALL.E 3 and DALL.E2)基于一個新的提示詞&#xff0c;通過讓模型替換已有圖像的某些區域來創建圖像的編輯版本;&#xff08;DALL.E2&#xff09;…

【FPGA】Verilog:解碼器 | 編碼器 | 多路復用器(Mux, Multiplexer)

0x00 什么是解碼器 解碼器是根據輸入信號在多個輸出位中選擇一個輸出位的裝置。例如,當解碼器接收2位二進制值作為輸入時,它可以接收00、01、10、11四種輸入值,并根據每個輸入值在4個輸出位中選擇一個,輸出為1000、0100、0010、0001中的一種。這樣的解碼器被稱為高電平有效…

ICML 2024 Mamba 論文總結

2024ICML&#xff08;International Conference on Machine Learning&#xff0c;國際機器學習會議&#xff09;在2024年7月21日-27日在奧地利維也納舉行 &#x1f31f;【緊跟前沿】“時空探索之旅”與你一起探索時空奧秘&#xff01;&#x1f680; 歡迎大家關注時空探索之旅 …

【數據結構與算法 | 基礎篇】數組模擬棧

1. 前言 前文我們剛提及了如何用單向鏈表來模擬棧. 我們還可以用數組來模擬棧.使用棧頂指針top來進行棧頂的操作. 2. 數組模擬棧 (1). 棧接口 public interface stack<E> {//壓棧boolean push(E value);//彈棧, 棧非空返回棧頂元素E pop();//返回棧頂元素, 但不彈棧E…

IntelliJ IDEA常用快捷鍵 + 動圖演示!

本文參考了 IntelliJ IDEA 的官網&#xff0c;列舉了IntelliJ IDEA &#xff08;Windows 版&#xff09; 的所有快捷鍵。并在此基礎上&#xff0c;為 90% 以上的快捷鍵提供了動圖演示&#xff0c;能夠直觀的看到操作效果。 該快捷鍵共分 11 種&#xff0c;可以方便的按各類查找…

【通義千問—Qwen-Agent系列2】案例分析(圖像理解圖文生成Agent||多模態助手|| 基于ReAct范式的數據分析Agent)

目錄 前言一、快速開始1-1、介紹1-2、安裝1-3、開發你自己的Agent 二、基于Qwen-Agent的案例分析2-0、環境安裝2-1、圖像理解&文本生成Agent2-2、 基于ReAct范式的數據分析Agent2-3、 多模態助手 附錄1、agent源碼2、router源碼 總結 前言 Qwen-Agent是一個開發框架。開發…

Excel提取某一列的唯一值

點擊【篩選】&#xff08;【高級篩選】&#xff09;&#xff0c;參數里&#xff1a; 列表區域&#xff1a;為需要選擇唯一值的那一列復制到&#xff1a;生成唯一值的目標區域 據說新版本的excel有了unique()函數&#xff0c;可以很快捷的選擇某一列的唯一值&#xff0c;但是博…

儀器校準中移液器的使用規范,應當注意哪些細節?

校準行業中&#xff0c;移液器的使用是非常多的&#xff0c;尤其是理化室&#xff0c;經常需要借助到移液器來校準。作為常規的溶液定量轉移器具&#xff0c;其在校準過程中的使用也需要遵守規范&#xff0c;既是保證校準結果準確低誤差&#xff0c;也是為了規范實驗室校準人員…

類與對象:接口

一.概念 接口&#xff08;英文&#xff1a;Interface&#xff09;&#xff0c;在JAVA編程語言中是一個抽象類型&#xff0c;是抽象方法的集合&#xff0c;接口通常以interface來聲明。 二.語法規則 與定義類相似&#xff0c;使用interface關鍵詞。 Idea可以在開始時直接創建…

高德地圖PlaceSearch標記點清除

在開發過程中發現引入 AMap.PlaceSearch 插件之后 增加map屬性之后&#xff0c;地圖上會出現自帶的marker點&#xff0c; 這時通過 searchNearBy()成員方法獲取到的地點值含有省市區等詳細信息 但是將map屬性注釋掉之后 發現不返回省市區&#xff0c;但是又不想關聯上展示mar…

動靜態庫

說明&#xff1a;使用動靜態庫&#xff0c;一般直接安裝即可&#xff0c;其他使用方法了解即可 靜態庫 靜態庫&#xff08;Static Library&#xff09;是一種將代碼和數據打包成一個單獨的文件的庫文件&#xff0c;主要用于編譯時的鏈接&#xff0c;而不是運行時。靜態庫通常…

Android Studio 所有歷史版本下載

一、官網鏈接 https://developer.android.google.cn/studio/archive 操作 二、AndroidDevTools地址 https://www.androiddevtools.cn/ 參考 https://blog.csdn.net/qq_27623455/article/details/103008937

Mybatis源碼剖析---第二講

Mybatis源碼剖析—第二講 那我們在講完了mappedstatement這個類&#xff0c;它的一個核心作用之后呢&#xff1f;那下面我有一個問題想問問各位。作為mappedstatement來講&#xff0c;它封裝的是一個select標簽或者insert標簽。但是呢&#xff0c;我們需要大家注意的是什么&am…

社交媒體數據恢復:soma messenger

步驟1&#xff1a;檢查備份文件 首先&#xff0c;我們需要確認您是否已開啟Soma Messenger的自動備份功能。若已開啟&#xff0c;您可以在備份文件中找到丟失的數據。 步驟2&#xff1a;清除緩存并重啟應用 有時候&#xff0c;清除Soma Messenger的緩存文件可以幫助恢復丟失的…

為什么股票市場里有認賊為父的現象?

文章大綱&#xff1a;&#xff08;本文2648字&#xff0c;完整版本應該3500以上&#xff0c;耗時一個鐘&#xff09; 1、前言&#xff1a;邏輯與博弈 2、直覺引入博弈焦點 3、上周4-5的市場博弈視角 4、下周一視角能看到的東西 5、視角背后看到的情緒周期市場共識下的博弈…

請說說 Java中 static 修飾符是干啥的?

好的,面試官. static英文含義是靜態的,也就是在修飾成員(對象,方法,代碼塊,變量)時,表明他們都是屬于靜態成員 其次被修飾的成員有幾大特性: 1.一個被static修飾的靜態成員不再屬于實例出來的對象,而是只屬于這個類自己. 2.訪問static修飾的成員要通過類名訪問,在類加載時初…

特殊變量筆記

執行demo4.sh文件,輸入輸出參數itcast itheima的2個輸入參數, 觀察效果 特殊變量&#xff1a;$# 語法 $#含義 獲取所有輸入參數的個數 案例需求 在demo4.sh中輸出輸入參數個數 演示 編輯demo4.sh, 輸出輸入參數個數 執行demo4.sh傳入參數itcast, itheima, 播仔 看效果…

銷量翻倍不是夢!亞馬遜速賣通自養號測評實戰技巧分享!

在亞馬遜、速賣通這些跨境電商平臺上&#xff0c;賣家們都在想各種辦法讓自己的產品賣得更好。現在&#xff0c;有一種叫做“自養號測評”的方法特別火。簡單來說&#xff0c;就是自己養一些買家賬號&#xff0c;然后讓這些賬號來給你的產品寫好評。這樣&#xff0c;你的產品就…