Flex彈性布局基礎屬性

彈性布局可以簡潔、完整寓搬、響應式的實現(xiàn)各種頁面布局假丧。

Flexbox主要功能:

  1. 屏幕和瀏覽器窗口大小變化也可以靈活調(diào)整布局
  2. 指定伸縮元素沿著主軸或者側(cè)軸双揪,按照一定比例分配額外的空間,調(diào)整伸縮元素的大小
  3. 指定伸縮元素沿著主軸或者側(cè)軸包帚,把伸縮元素額外空間分配到伸縮元素之前渔期、之后和之間
  4. 控制元素在頁面上的布局方向
  5. 指定如何將垂直于元素布局軸的額外空間分配到該元素的周邊
  6. 按照不同文檔對象模型(DOM),指定排序方式對屏幕上元素重新排序【瀏覽器渲染中不按照文檔流先后順序重排伸縮元素】

主軸和側(cè)軸

用戶沿著一個伸縮容器的主軸配置伸縮元素渴邦,主軸是水平還是垂直的取決于justify-content屬性

只需要在父元素設置為flex布局即可:display:felx或者display:inline-flex疯趟。那其子元素的float、clear和vertical-align的屬性就無效几莽,父元素成為flex容器迅办,就默認了父容器里面只有一行。
html:

    <div class="wrapper">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
        <div>6</div>
        <div>7</div>
    </div>

css:

.wrapper {
    display: flex;
    /* 設置主軸的方向 column垂直章蚣、flex水平*/
    flex-direction: column;

}

.wrapper div {
    width: 100px;
    height: 100px;
    text-align: center;
    line-height: 100px;
    background: red;
    color: #ffffff;
    margin: 10px;
}

flex容器有6個屬性:

屬性 說明
flex-direction 決定了彈性容器子元素的排列方式
flex-wrap 設置了彈性容器超出時站欺,是否換行
flex-flow flex-direction 和 flex-wrap 的簡寫
align-items 設置彈性容器的子元素在縱軸方向的對齊方式
align-content 和align-items,但不設置子元素對齊,只是設置行對齊
justify-content 設置彈性容器子元素在主軸(橫軸)方向上的對齊方式
1纤垂、flex-direction:決定主軸的方向矾策,就是子元素的排列方向。在一個容器內(nèi)無非就是四種排列方向:

第一種起點在左端的水平方向峭沦,則屬性值為row贾虽,也是flex-direction屬性的默認值;

第二種就是起點在右端的水平方向吼鱼,則屬性值為row-reverse蓬豁;

第三種是起點在上端的垂直方向,則屬性值是column菇肃;

第四種是起點在下端的垂直方向地粪,則屬性值是column-reverse

flex-direction:row || row-reverse || column || column-reverse
2琐谤、flex-wrap:在默認的情況下蟆技,flex容器的子元素的是排列成一行的,flex-wrap屬性定義在一行排不完時,如何換行质礼,是否換行旺聚。有三個屬性值:

nowrap:不換行

wrap:換行 ,多余的子元素排在第一行的下方

wrap-reverse:換行眶蕉,多余的子元素排在第一行的上方砰粹。

flex-wrap:wrap  || wrap-reverse || nowrap
3、flex-flow:是flex-direction屬性和flex-wrap屬性的簡寫妻坝,默認值:row

nowrap 伸眶。

第一個屬性值表示flex-direction屬性值,第二個屬性值表示flex-wrap屬性值刽宪。

flex-flow:flex wrap
4厘贼、justify-content:該屬性定義了子元素在主軸方向的對齊方式,有五個屬性值供選擇:
屬性值 描述
flex-start 默認值圣拄,左對齊
flex-end 右對齊
center 居中
space-between 兩端對齊
space-around 每個子元素對兩側(cè)的間距相等嘴秸,那么每兩個子元素的間距是子元素與邊框間距的兩倍。

5庇谆、側(cè)軸對齊align-items和align-self:定義子元素在側(cè)軸上的對齊方式岳掐,有五個屬性值:
屬性值 描述
flex-start 側(cè)軸起點對齊
flex-end 側(cè)軸終點對齊
center 側(cè)軸中點對齊
baseline 就是子元素的第一行文字基線對齊
stretch 默認值,若是子元素沒有設置高度或者是auto的話饭耳,那子元素就沾滿容器的高度
6串述、align-content(堆棧伸縮行):定義了多軸對齊方式,若是子元素只有一根軸線的話寞肖,align-content屬性就不起作用了纲酗,有6個屬性值:
屬性值 描述
flex-start 與交叉軸的起點對齊
flex-end 與交叉軸的終點對齊
center 與交叉軸的中點對齊
space-between 與交叉軸兩端對齊,軸線之間的間隔平均分布
space-around 每根軸線兩側(cè)的間距相等新蟆。
stretch 默認值觅赊,軸線占滿整個交叉軸
伸縮性 flex

伸縮容器按照比例給各個伸縮元素分配額外空間

對齊的不是伸縮元素,而是伸縮行

flex-grow:1;//每一個伸縮元素平均分配額外空間琼稻,如果設置為2吮螺,那么該元素所占的額外空間是其他元素的2倍
flex-shrink:1;//定義元素的收縮能力
.wrapper {
    display: flex;
   border: 1px solid red;
}

.wrapper div {
    width: 100px;
    height: 100px;
    text-align: center;
    line-height: 100px;
    background: red;
    color: #ffffff;
    margin: 10px;
}

.wrapper div:nth-child(1){
    flex: 1;
}
.wrapper div:nth-child(2){
    flex: 2;
}
.wrapper >div:nth-child(3){
    flex: 3;
}

子元素有六個屬性可以設置:

order:定義了子元素的排列順序,數(shù)值越小帕翻,就越是靠前

flex-grow:定義子元素放大的比例鸠补,默認值是0

flex-shrink:定義了子元素的縮小比例,默認值是1嘀掸,就是剩余空間不足莫鸭,該子元素就會縮小,若有一個子元素 flex-shrink屬性設置為0横殴,其他都是1的話,那么在剩余空間不足的時候,該子元素不變衫仑,其他子元素等比例縮小

flex-basis:定義了子元素在分配剩余空間的時候梨与,該子元素占據(jù)主軸的空間,默認值auto文狱,就是該子元素本來的空間大小粥鞋,也可以設置成具體的數(shù)值(200px),表示該子元素的固定空間大小瞄崇。

flex:是flex-grow, flex-shrink 和 flex-basis屬性的簡寫呻粹,默認值是:0 1 auto。若是設置為auto苏研,則表示為 1 1 auto等浊;設置為none,則表示為 0 0 auto

align-self:定義了該元素與其他元素的不一樣的對齊方式,覆蓋了align-items屬性摹蘑,默認值auto筹燕,表示繼承父元素的align-items的屬性值,若沒有父元素衅鹿,則是等同于stretch撒踪。flex-start | flex-end | center | baseline | stretch都與align-items屬性完全一致。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末大渤,一起剝皮案震驚了整個濱河市制妄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泵三,老刑警劉巖耕捞,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異切黔,居然都是意外死亡砸脊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門纬霞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌埂,“玉大人,你說我怎么就攤上這事诗芜⊥ィ” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵伏恐,是天一觀的道長孩哑。 經(jīng)常有香客問我,道長翠桦,這世上最難降的妖魔是什么横蜒? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任胳蛮,我火速辦了婚禮,結果婚禮上丛晌,老公的妹妹穿的比我還像新娘仅炊。我一直安慰自己,他們只是感情好澎蛛,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布抚垄。 她就那樣靜靜地躺著,像睡著了一般谋逻。 火紅的嫁衣襯著肌膚如雪呆馁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天毁兆,我揣著相機與錄音浙滤,去河邊找鬼。 笑死荧恍,一個胖子當著我的面吹牛瓷叫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播送巡,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼摹菠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了骗爆?” 一聲冷哼從身側(cè)響起次氨,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎摘投,沒想到半個月后煮寡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡犀呼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年幸撕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片外臂。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡坐儿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宋光,到底是詐尸還是另有隱情貌矿,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布罪佳,位于F島的核電站逛漫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赘艳。R本人自食惡果不足惜酌毡,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一克握、第九天 我趴在偏房一處隱蔽的房頂上張望从祝。 院中可真熱鬧,春花似錦荣月、人聲如沸尽超。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春下梢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背塞蹭。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工孽江, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人番电。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓岗屏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親漱办。 傳聞我的和親對象是個殘疾皇子这刷,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容