一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

彈性布局詳解——5個div讓你學(xué)會彈性布局

 昵稱43682464 2018-08-19

  前  言

JRedu

 在網(wǎng)頁制作過程中,布局是我們最重要的一個環(huán)節(jié)??梢哉f布局的好壞直接影響到整個網(wǎng)頁的成??!布局成,則事半功倍;布局?jǐn)。瑒t事倍功半。 隨著移動互聯(lián)的到來,響應(yīng)式網(wǎng)站風(fēng)靡。這也就興起了一種新興的布局方式——彈性布局。取代我們之前“display+float+position”的布局形式,采用全新的彈性布局,會讓你的網(wǎng)站如絲般順滑! 今天,就讓我們一起來學(xué)習(xí)一下彈性布局,讓我們用5個div玩轉(zhuǎn)彈性布局吧~

 本章內(nèi)容將詳細(xì)介紹Android事件的具體處理及常見事件。

 

1 彈性布局簡介

 

彈性布局,又稱Flex布局”,是由W3C老大哥于2009年推出的一種布局方式??梢院啽?、完整、響應(yīng)式地實(shí)現(xiàn)各種頁面布局。而且已經(jīng)得到所有主流瀏覽器的支持,我們可以放心大膽的使用。

>>> 了解兩個基本概念,接下來會頻繁提到:

①  容器: 需要添加彈性布局的父元素;

②  項(xiàng)目: 彈性布局容器中的每一個子元素,稱為項(xiàng)目;

 

>>> 了解兩個基本方向,這個牽扯到彈性布局的使用:

①  主軸: 在彈性布局中,我們會通過屬性規(guī)定水平/垂直方向?yàn)橹鬏S;

②  交叉軸: 與主軸垂直的另一方向,稱為交叉軸。

 

2 彈性布局的使用

 

① 給父容器添加display: flex/inline-flex;屬性,即可使容器內(nèi)容采用彈性布局顯示,而不遵循常規(guī)文檔流的顯示方式;

② 容器添加彈性布局后,僅僅是容器內(nèi)容采用彈性布局,而容器自身在文檔流中的定位方式依然遵循常規(guī)文檔流;

display:flex; 容器添加彈性布局后,顯示為塊級元素;

display:inline-flex; 容器添加彈性布局后,顯示為行級元素;

④ 設(shè)為 Flex布局后,子元素的float、clearvertical-align屬性將失效。但是position屬性,依然生效。

 

2.1代碼實(shí)例

 

復(fù)制代碼
div id='div'> div class='div1'>1div> div class='div2'>2div> div class='div3'>3div> div class='div4'>4div> div>
復(fù)制代碼
復(fù)制代碼
#div{                width: 400px;                height: 400px;                background-color: yellow;                display: flex;                            }            #div div{                width: 100px;                height: 100px;                background-color: blue;                color: white;                font-size: 30px;                            }
復(fù)制代碼

五個簡單的div,只給父容器添加了display: flex;屬性,就可以讓容器內(nèi)部打破原有文檔流模式,展現(xiàn)為彈性布局

簡單的了解一下彈性布局后我們來詳解一下配合“display: flex;”使用的12大屬性。其中,12個屬性分為兩類,6個作用于父容器,6個作用于子項(xiàng)目。

 

3 作為父容器的6大屬性

 

flex-direction屬性決定主軸的方向(即項(xiàng)目的排列方向)。

             row(默認(rèn)值): 主軸為水平方向,起點(diǎn)在左端;

             row-reverse: 主軸在水平方向,起點(diǎn)在右端 ;

             column:主軸為垂直方向,起點(diǎn)在上沿。

             column-reverse:主軸為垂直方向,起點(diǎn)在下沿。

flex-wrap屬性定義,如果一條軸線排不下,如何換行。

            nowrap(默認(rèn)):不換行。當(dāng)容器寬度不夠時,每個項(xiàng)目會被擠壓寬度;

            wrap: 換行,并且第一行在容器最上方;

            wrap-reverse: 換行,并且第一行在容器最下方。

③ flex-flow flex-directionflex-wrap的縮寫形式,默認(rèn)值為:flex-flow: row wrap; 不做過多解釋

justify-content屬性定義了項(xiàng)目在主軸上的對齊方式。 

           >>> 此屬性與主軸方向息息相關(guān)。

主軸方向?yàn)椋?/span>row-起點(diǎn)在左邊,row-reverse-起點(diǎn)在右邊, column-起點(diǎn)在上邊,column-reverse-起點(diǎn)在下邊

           flex-start(默認(rèn)值): 項(xiàng)目位于主軸起點(diǎn)。

           flex-end:項(xiàng)目位于主軸終點(diǎn)。

           center: 居中

           space-between:兩端對齊,項(xiàng)目之間的間隔都相等。(開頭和最后的項(xiàng)目,與父容器邊緣沒有間隔)

           space-around:每個項(xiàng)目兩側(cè)的間隔相等。所以,項(xiàng)目之間的間隔比項(xiàng)目與邊框的間隔大一倍。(開頭和最后的項(xiàng)目,與父容器邊緣有一定的間隔)

   

⑤ align-items屬性定義項(xiàng)目在交叉軸上如何對齊。

            flex-start:交叉軸的起點(diǎn)對齊。

            flex-end:交叉軸的終點(diǎn)對齊。

            center:交叉軸的中點(diǎn)對齊。

            baseline: 項(xiàng)目的第一行文字的基線對齊。(文字的行高、字體大小會影響每行的基線)

            stretch(默認(rèn)值):如果項(xiàng)目未設(shè)置高度或設(shè)為auto,將占滿整個容器的高度。

        

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

 (當(dāng)項(xiàng)目換為多行時,可使用align-content取代align-items)

           flex-start:與交叉軸的起點(diǎn)對齊。

           flex-end:與交叉軸的終點(diǎn)對齊。

           center:與交叉軸的中點(diǎn)對齊。

           space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。

           space-around:每根軸線兩側(cè)的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。

           stretch(默認(rèn)值):軸線占滿整個交叉軸。

         

 

4 Android 作用于子項(xiàng)目的6大屬性

 

①  order屬性定義項(xiàng)目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0

②  flex-grow屬性定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。

 ③ flex-shrink屬性定義了項(xiàng)目的縮小比例,默認(rèn)為1,即如果空間不足,該項(xiàng)目將縮小。

   

④  flex-basis定義項(xiàng)目占據(jù)的主軸空間。(如果主軸為水平,則設(shè)置這個屬性,相當(dāng)于設(shè)置項(xiàng)目的寬度。 原width將會失效。)

 

⑤  flex屬性是flex-grow, flex-shrink flex-basis的簡寫,默認(rèn)值為0 1 auto。后兩個屬性可選。

此屬性有兩個快捷設(shè)置:auto=(1 1 auto)/none=(0 0 auto)

 

⑥  align-self:定義單個項(xiàng)目自身在交叉軸上的排列方式,可以覆蓋掉容器上的align-items屬性。

屬性值:與align-items相同,默認(rèn)值為auto,表示繼承父容器的align-items屬性值。

 

好了,相信到這里所有同學(xué)都能夠理解flex彈性布局了吧~~學(xué)習(xí)一個新知識,字不如表,表不如圖。希望這5div的圖解,能夠讓所有同學(xué)深刻的理解Flex彈性布局~接下來,讓我們愉快的拋棄Float、拋棄Position,一起擁抱Flex吧??!

最后,所有的源碼附上,需要的同學(xué)自行測試哦~

DOCTYPE html>html> head> meta charset='UTF-8'> title>title> style type='text/css'> #div{ width: 500px; height: 400px; background-color: yellow; display: flex; /*flex-direction: column-reverse;*/ /*flex-wrap: wrap;*/ /*justify-content: space-around;*/ /*align-items: stretch;*/ /*align-content: stretch;*/ } #div div{ width: 100px; height: 100px; background-color: blue; color: white; font-size: 30px; /*flex-shrink: 0;*/ } #div .div1{ /*font-size: 48px;*/ /*order: 1;*/ /*flex-grow: 1;*/ /*flex-shrink: 0;*/ /*background-color: red;*/ } #div .div3{ /*flex-grow: 2;*/ background-color: green; /*flex-basis: 200px;*/ align-self: flex-end; } style> head> body> div id='div'> div class='div1'>1div> div class='div2'>2div> div class='div3'>3div> div class='div4'>4div> div> body>html>
源碼

 

 

作者:杰瑞教育
出處:http://www.cnblogs.com/jerehedu/ 
版權(quán)聲明:本文版權(quán)歸杰瑞教育技有限公司和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
技術(shù)咨詢:JRedu技術(shù)交流

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    在线免费视频你懂的观看| 亚洲欧洲精品一区二区三区| 久久国内午夜福利直播| 九九热视频网在线观看| 人妻内射精品一区二区| 日本高清不卡一二三区| 大尺度剧情国产在线视频| 国产又粗又硬又长又爽的剧情| 色婷婷丁香激情五月天| 99久久免费中文字幕| 国产精品偷拍视频一区| 女人精品内射国产99| 欧美特色特黄一级大黄片| 风韵人妻丰满熟妇老熟女av | 日本不卡一区视频欧美| 91熟女大屁股偷偷对白| 久久碰国产一区二区三区| 亚洲丁香婷婷久久一区| 国内自拍偷拍福利视频| 在线观看免费无遮挡大尺度视频| 久久碰国产一区二区三区| 久热人妻中文字幕一区二区| 亚洲天堂久久精品成人| 亚洲成人久久精品国产| 久久香蕉综合网精品视频| 99久久精品午夜一区| 小草少妇视频免费看视频| 国产精品欧美一区二区三区不卡| 激情视频在线视频在线视频| 人妻中文一区二区三区| 亚洲一区二区三区中文久久| 91亚洲精品综合久久| 欧美一区二区三区视频区| 国产自拍欧美日韩在线观看| 亚洲欧美中文字幕精品| 夜色福利久久精品福利| 国产日韩欧美在线亚洲| 深夜日本福利在线观看| 欧美尤物在线观看西比尔| 激情亚洲内射一区二区三区| 国产欧美日产久久婷婷|