首頁 web前端 css教學 CSS3 flex佈局總結

CSS3 flex佈局總結

Feb 21, 2020 pm 05:49 PM
css3 flex 總結

CSS3 flex佈局總結

CSS3 flex佈局總結

2009年,W3C 提出了新的方案----Flex 佈局,可以簡單、完整、響應式地實現各種頁面佈局。目前,它已經得到了所有瀏覽器的支援。

Flex 是 Fl​​exible Box 的縮寫,意為"彈性佈局",用來為盒狀模型提供最大的彈性。任何一個容器都可以指定為 Flex 佈局。

( 推薦學習:CSS教學 )

行內元素也可以使用 Flex 佈局。

.box{
  display: flex;
}
.box{
  display: inline-flex;
}
登入後複製

要注意的是Webkit 核心的瀏覽器,必須加上-webkit前綴。

.box{
  display: -webkit-flex; /* Safari */
  display: flex;
}
登入後複製

此外,設為 Flex 版面配置以後,子元素的float、clear和vertical-align屬性將會失效。

flex版面常用到的6個屬性

  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-items
  • align-content

##1、flex-direction

屬性決定主軸的方向(即項目的排列方向)。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>.box { flex-direction: row | row-reverse | column | column-reverse; }</pre><div class="contentsignin">登入後複製</div></div><strong></strong>row(預設值):主軸為水平方向,起點在左端。

row-reverse:主軸為水平方向,起點在右端。
  • column:主軸為垂直方向,起點在上沿。 column-reverse:主軸為垂直方向,起點在下緣。
  • 2、
  • flex-wrap
  • 屬性定義,如果一條軸線排不下,如何換行。
    .box{
      flex-wrap: nowrap | wrap | wrap-reverse;
    }
    登入後複製

nowrap(預設):不換行。 <strong></strong>wrap:換行,第一行上方。 wrap-reverse:換行,第一行在下方。

3、<strong>flex-flow</strong>屬性是

flex-direction
    屬性和
  • flex-wrap
  • 屬性的簡寫形式,預設值為
  • row nowrap
  • .box {
      flex-flow: <flex-direction> || <flex-wrap>;
    }
    登入後複製
  • 4、
  • justify-content
  • 屬性定義了專案在主軸上的對齊方式。
-content: flex-start | flex-end | center | space-between | space-
登入後複製

flex-start(預設值):左對齊<strong></strong>flex-end:右對齊

center: 居中
    ##space-between :兩端對齊,項目之間的間隔都相等。
  • space-around:每個項目兩側的間隔相等。所以,專案之間的間隔比專案與邊框的間隔大一倍。
  • 5、align-items
  • 屬性定義項目在交叉軸上如何對齊。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>.box { align-items: flex-start | flex-end | center | baseline | stretch; }</pre><div class="contentsignin">登入後複製</div></div>
  • flex-start:交叉軸的起點對齊。
  • flex-end:交叉軸的終點對齊。
center

:交叉軸的中點對齊。 <strong></strong>baseline: 專案的第一行文字的基線對齊。

stretch
    (預設值):如果項目未設定高度或設為auto,將佔滿整個容器的高度。
  • 6、
  • align-content屬性定義了多根軸線的對齊方式。如果項目只有一根軸線,則該屬性不起作用。
  • .box {
      align-content: flex-start | flex-end | center | space-between | space-around | stretch;
    }
    登入後複製
  • 該屬性可能取6個值。
  • flex-start:與交叉軸的起點對齊。
  • flex-end:與交叉軸的終點對齊。
  • center:與交叉軸的中點對齊。
space-between

:與交叉軸兩端對齊,軸線之間的間隔平均分佈。

  • space-around:每根軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。
  • stretch(預設值):軸線佔滿整個交叉軸。
  •  還有以下6個屬性設定在項目上。
  • order
  • flex-grow
  • flex-shrink
flex-basis


flex#align-self

## order屬性定義項目的排列順序。數值越小,排列越前,預設為0。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>.item { order: &lt;integer&gt;; }</pre><div class="contentsignin">登入後複製</div></div>

flex-grow

屬性定義項目的放大比例,預設為0,即如果存在剩餘空間,也不會放大。

.item {
  flex-grow: <number>; /* default 0 */}
登入後複製

如果所有項目的flex-grow屬性都為1,則它們將等分剩餘空間(如果有的話)。如果一個項目的flex-grow屬性為2,其他項目都為1,則前者佔據的剩餘空間將比其他項多一倍。

######flex-shrink###屬性定義了項目的縮小比例,預設為1,即如果空間不足,該項目將縮小。 ###
.item {
  flex-shrink: <number>; /* default 1 */}
登入後複製
###如果所有項目的###flex-shrink###屬性都為1,當空間不足時,都將等比例縮小。如果一個項目的###flex-shrink###屬性為0,其他項目都為1,則空間不足時,前者不縮小。 ###

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

.item {
  flex-basis: <length> | auto; /* default auto */}
登入後複製

flex属性是flex-grow, flex-shrinkflex-basis的简写,默认值为0 1 auto。后两个属性可选。

.item {
  flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
}
登入後複製

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
登入後複製
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
登入後複製

以上是CSS3 flex佈局總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

純CSS3怎麼實現波浪效果? (程式碼範例) 純CSS3怎麼實現波浪效果? (程式碼範例) Jun 28, 2022 pm 01:39 PM

純CSS3怎麼實現波浪效果?這篇文章就來跟大家介紹一下使用 SVG 和 CSS 動畫來製作波浪效果的方法,希望對大家有幫助!

巧用CSS實現各種奇形怪狀按鈕(附代碼) 巧用CSS實現各種奇形怪狀按鈕(附代碼) Jul 19, 2022 am 11:28 AM

這篇文章帶大家看看怎麼使用 CSS 輕鬆實現高頻出現的各類奇形怪狀按鈕,希望對大家有幫助!

css怎麼隱藏元素但不佔空間 css怎麼隱藏元素但不佔空間 Jun 01, 2022 pm 07:15 PM

兩種方法:1、利用display屬性,只要為元素加上「display:none;」樣式即可。 2.利用position和top屬性設定元素絕對定位來隱藏元素,只需為元素加上「position:absolute;top:-9999px;」樣式。

總結Linux系統中system()函數的用法 總結Linux系統中system()函數的用法 Feb 23, 2024 pm 06:45 PM

Linux下system()函數的總結在Linux系統中,system()函數是一個非常常用的函數,它可以用來執行命令列指令。本文將對system()函數進行詳細的介紹,並提供一些特定的程式碼範例。一、system()函數的基本用法system()函數的聲明如下:intsystem(constchar*command);其中,command參數是一個字符

css3怎麼實現花邊邊框 css3怎麼實現花邊邊框 Sep 16, 2022 pm 07:11 PM

在css中,可以利用border-image屬性來實作花邊邊框。 border-image屬性可以使用圖片來建立邊框,即給邊框加上背景圖片,只需要將背景圖片指定為花邊樣式即可;語法「border-image: url(圖片路徑) 向內偏移值圖像邊界寬度outset 是否重複;」。

原來利用純CSS也能實現文字輪播與圖片輪播! 原來利用純CSS也能實現文字輪播與圖片輪播! Jun 10, 2022 pm 01:00 PM

怎麼製作文字輪播與圖片輪播?大家第一想到的是利用js,其實利用純CSS也能實現文字輪播與圖片輪播,下面來看看實作方法,希望對大家有幫助!

css3如何實現滑鼠點擊圖片放大 css3如何實現滑鼠點擊圖片放大 Apr 25, 2022 pm 04:52 PM

實作方法:1、使用「:active」選擇器選取滑鼠點擊圖片的狀態;2、使用transform屬性和scale()函數實現圖片放大效果,語法「img:active {transform: scale(x軸放大倍率,y軸放大倍率);}」。

手把手帶你使用CSS Flex和Grid佈局實現3D骰子(附程式碼) 手把手帶你使用CSS Flex和Grid佈局實現3D骰子(附程式碼) Sep 23, 2022 am 09:58 AM

在前端面試中,常會問到如何使用 CSS 實現骰子/麻將佈局。以下這篇文章為大家介紹一下用CSS 創建一個 3D 骰子(Flex和Grid佈局實現3D骰子)的方法,希望對大家有幫助!

See all articles