摘要:本文由云社區發表是的縮寫,意為彈性布局,是的一種布局模式。通過布局,可以很優雅地解決很多布局的問題。與交叉軸兩端對齊,軸線之間的間隔平均分布。表示當空間不足時,不縮小。此文已由作者授權騰訊云社區發布
本文由云+社區發表
Flex是Flexible Box 的縮寫,意為"彈性布局",是CSS3的一種布局模式。通過Flex布局,可以很優雅地解決很多CSS布局的問題。下面會分別介紹容器的6個屬性和項目的6個屬性。每個屬性會附上效果圖,具體實現代碼會以github路徑形式更新于此。
可以點擊查看各瀏覽器的兼容情況
注意,設為 Flex 布局以后,子元素的float、clear和vertical-align屬性將失效。
容器的屬性有6個,分別是:
flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content
(1)flex-direcion屬性:
作用:控制主軸的方向
flex-direction: row | row-reverse | column | column-reverse;
默認值:row
(2)flex-wrap屬性:
作用:默認情況下,項目都排在一條線(又稱"軸線")上。flex-wrap屬性定義,如果一條軸線排不下,如何換行。
flex-wrap: nowrap | wrap | wrap-reverse;
默認值:nowrap
(3)flex-flow屬性
作用:該屬性是flex-direction屬性和flex-wrap屬性的簡寫形式
默認值:row nowrap
(4)justify-content屬性
作用:定義項目在主軸上的對齊方式
justify-content: flex-start | flex-end | center | space-between | space-around;
默認值:flex-start
(5)align-items屬性
作用:定義項目在交叉軸上如何對齊。
align-items: flex-start | flex-end | center | baseline | stretch
默認值:flex-start
注意:如果align-items為stretch,想看到每個flex-item鋪滿整個交叉軸的話,需要設置所有的flex-item的高度:height:auto,否則達不到效果。
(6)align-content屬性
屬性定義了多根軸線的對齊方式。如果項目只有一根軸線,該屬性不起作用。
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
默認值:stretch
flex-start:與交叉軸的起點對齊。
flex-end:與交叉軸的終點對齊。
center:與交叉軸的中點對齊。
space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。
space-around:每根軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。
stretch:軸線占滿整個交叉軸。
項目的屬性有6個,分別是:
order
flex-grow
flex-shrink
flex-basis
flex
align-self
(1)order屬性:
作用:定義項目的排列順序,數值越小,排列越靠前。
默認值:0
(2)flex-grow屬性
作用:如果存在剩余空間,項目放大的比例。相當于是各個項目根據這個比例,來分配剩余空間。
默認值:0(不放大)
(3)flex-shrink屬性
作用:flex-shrink:如果存在空間不足,項目的“縮小比例”。0表示當空間不足時,不縮小。
默認值:1
負值對該屬性無效
(4)flex-basis屬性
作用:定義項目在主軸方向上占據空間大小的初值。
默認值:auto(項目本來的大小)
(5)flex屬性
作用:是flex-grow、flex-shrink、flex-basis屬性的縮寫形式;
flex: none | [
注:幾種常見縮寫形式;
flex: auto; === flex: 1 1 auto;
flex: none; === flex: 0 0 auto;
flex: initial; === flex: 0 1 auto;
flex:
flex: 1; === flex: 1 1 auto;
建議優先使用這個屬性,而不是多帶帶寫三個分離的屬性,因為瀏覽器會推算相關值
(6)align-self屬性
作用:屬性允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items屬性。
align-self: auto | flex-start | flex-end | center | baseline | stretch;
默認值:auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。
本文分別介紹了容器的6個屬性和flex-item項目的6個屬性。建議跟著demo整體做一遍,有助于加深理解。如有問題,歡迎指正。
此文已由作者授權騰訊云+社區發布
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/1449.html
摘要:本文由云社區發表是的縮寫,意為彈性布局,是的一種布局模式。通過布局,可以很優雅地解決很多布局的問題。與交叉軸兩端對齊,軸線之間的間隔平均分布。表示當空間不足時,不縮小。此文已由作者授權騰訊云社區發布 本文由云+社區發表 Flex是Flexible Box 的縮寫,意為彈性布局,是CSS3的一種布局模式。通過Flex布局,可以很優雅地解決很多CSS布局的問題。下面會分別介紹容器的6個屬性...
摘要:本文由云社區發表本文將通過三個簡單的實例,實際應用上篇文章的基礎理論知識,展示下布局是如何解決布局問題。通過對比其他的實現方式,可以看出使用布局可以優雅地實現相同的布局問題。 本文由云+社區發表 本文將通過三個簡單的實例,實際應用上篇文章的基礎理論知識,展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時用非flex布局和flex布局兩種方式來實現,可以對比兩種實現方式...
摘要:本文由云社區發表本文將通過三個簡單的實例,實際應用上篇文章的基礎理論知識,展示下布局是如何解決布局問題。通過對比其他的實現方式,可以看出使用布局可以優雅地實現相同的布局問題。 本文由云+社區發表 本文將通過三個簡單的實例,實際應用上篇文章的基礎理論知識,展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時用非flex布局和flex布局兩種方式來實現,可...
摘要:本文由云社區發表本文將通過三個簡單的實例,實際應用上篇文章的基礎理論知識,展示下布局是如何解決布局問題。通過對比其他的實現方式,可以看出使用布局可以優雅地實現相同的布局問題。 本文由云+社區發表 本文將通過三個簡單的實例,實際應用上篇文章的基礎理論知識,展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時用非flex布局和flex布局兩種方式來實現,可以對比兩種實現方式...
摘要:簡介是的縮寫,意為彈性布局,用來為盒狀模型提供最大的靈活性。注意,設為布局以后,子元素的和屬性將失效。基本概念采用布局的元素,稱為容器,簡稱容器。它的所有子元素自動成為容器成員,稱為項目,簡稱項目。負值對該屬性無效。后兩個屬性可選。 簡介: Flex是Flexible?Box的縮寫,意為彈性布局,用來為盒狀模型提供最大的靈活性。任何一個容器都可以指定為Flex布局。注意,設為Flex布...
閱讀 713·2023-04-25 19:43
閱讀 3910·2021-11-30 14:52
閱讀 3784·2021-11-30 14:52
閱讀 3852·2021-11-29 11:00
閱讀 3783·2021-11-29 11:00
閱讀 3869·2021-11-29 11:00
閱讀 3558·2021-11-29 11:00
閱讀 6105·2021-11-29 11:00