摘要:默認值如果項目未設(shè)置高度或設(shè)為,將占滿整個容器的高度。與交叉軸兩端對齊,軸線之間的間隔平均分布。該屬性有兩個快捷值和。默認值為,表示繼承父元素的屬性,如果沒有父元素,則等同于。該屬性可能取個值,除了,其他都與屬性完全一致
前幾天看了阮一峰的Flex布局教程,講的很不錯,總結(jié)一下,有興趣的可以去看原文http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
Flex全名Flexible Box即彈性布局,
基本用法:display:flex;
行內(nèi)元素:display:inline-flex
webkit內(nèi)核的瀏覽器必須加上-webkit前綴
.box{
display: -webkit-flex; /*safari */
display: flex;
}
注意,設(shè)為 Flex 布局以后,子元素的?float
、clear?
和?vertical-align?
屬性將失效
采用 Flex 布局的元素,它的所有子元素自動成為容器成員,稱為 Flex 項目(flex item),簡稱"項目"。
容器默認存在兩根軸:水平的主軸(main axis)和垂直的交叉軸(cross axis)
?1.?flex-direction屬性 : 決定主軸的方向(項目的排列方向)
.box {
flex-direction: row | row-reverse | column | column-reverse; /* row是默認值 */
}
?
2.?flex-wrap屬性 : 默認項目都排在一條軸線上,flex-wrap決定項目換行方式
.box{
/* nowrap默認值 不換行; wrap換行,第一行在上方; wrap-reverse換行,第一行在下方。*/
flex-wrap: nowrap | wrap | wrap-reverse;
}
?
3.?flex-flow屬性 :flex-direction
屬性和flex-wrap
屬性的簡寫形式,默認值為row nowrap
.box { flex-flow: <flex-direction> || <flex-wrap>; }
?
4.justify-content?屬性 : 項目在主軸上的對齊方式, 具體對齊方式與軸的方向有關(guān)
.box {
justify-content: flex-start | flex-end | center | space-between | space-around;
/* 依次是左對齊 ; 右對齊 ; 居中;
兩端對齊,項目之間的間隔相等;
每個項目兩側(cè)的間隔相等(項目之間的間隔比項目與邊框的間隔大一倍)
*/
}
?
5.align-items 屬性:?項目在交叉軸上如何對齊,?具體的對齊方式與交叉軸的方向有關(guān)
.box {
align-items: flex-start | flex-end | center | baseline | stretch;
}
flex-start
: 交叉軸的起點對齊。flex-end
:? ? 交叉軸的終點對齊。center
:? ? ? ? 交叉軸的中點對齊。baseline
:? ? ?項目的第一行文字的基線對齊。stretch
(默認值):如果項目未設(shè)置高度或設(shè)為auto,將占滿整個容器的高度。?
6.?align-content?屬性: 多根軸線的對齊方式 , 對于單軸不起作用
.box {
align-content: flex-start | flex-end | center | space-between |
space-around | stretch;
}
flex-start
:與交叉軸的起點對齊。flex-end
:與交叉軸的終點對齊。center
:與交叉軸的中點對齊。space-between
:與交叉軸兩端對齊,軸線之間的間隔平均分布。space-around
:每根軸線兩側(cè)的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。stretch
(默認值):軸線占滿整個交叉軸。1. order屬性:項目的排列順序,默認為0,數(shù)值越小,排列越靠前
.item { order: <integer>; }
?
2.flex-grow屬性:指項目的放大比例,默認為0(即如果存在剩余空間也不放大)
.item { flex-grow: <number>; /* default 0 */ }
如果所有項目的flex-grow
屬性都為1,則它們將等分剩余空間(如果有的話)。
如果一個項目的flex-grow
屬性為2,其他項目都為1,則前者占據(jù)的剩余空間將比其他項多一倍。
?
3.flex-shrink屬性:指項目的縮小比例,默認為1, 即如果空間不足,該項目將縮小
.item { flex-shrink: <number>; /* default 1 */ }
如果所有項目的flex-shrink
屬性都為1,當空間不足時,都將等比例縮小。
如果一個項目的flex-shrink
屬性為0,其他項目都為1,則空間不足時,前者不縮小.
?
4.flex-basis屬性:定義了在分配多余空間之前,項目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個屬性,計算主軸是否有多余空間。
它的默認值為auto
,即項目的本來大小。
.item { flex-basis: <length> | auto; /* default auto ,設(shè)為跟width
或height
屬性一樣的值(比如350px),則項目將占據(jù)固定空間*/ }
?
5. flex屬性:是flex-grow flex-shrink 和flex-basis的簡寫,默認值 0 1 auto,后兩個屬性可選。
該屬性有兩個快捷值:auto
?(1 1 auto
) 和 none (0 0 auto
)。
建議優(yōu)先使用這個屬性,而不是多帶帶寫三個分離的屬性,因為瀏覽器會推算相關(guān)值
?
6. align-self屬性:允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items
屬性。
默認值為auto
,表示繼承父元素的align-items
屬性,如果沒有父元素,則等同于stretch
。
.item {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
該屬性可能取6個值,除了auto,其他都與align-items屬性完全一致
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/1988.html
摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個最重要的技術(shù)點常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術(shù)點 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...
摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個最重要的技術(shù)點常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術(shù)點 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...
摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個目錄,方便更多的小伙伴去學習。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...
閱讀 2773·2021-11-22 15:11
閱讀 3537·2021-09-28 09:43
閱讀 2888·2019-08-30 13:05
閱讀 3430·2019-08-30 11:18
閱讀 1446·2019-08-29 16:34
閱讀 1299·2019-08-29 13:53
閱讀 2907·2019-08-29 11:03
閱讀 1657·2019-08-29 10:57