首頁 >web前端 >html教學 >彈性佈局是什麼?彈性佈局flex的基本應用(附程式碼)

彈性佈局是什麼?彈性佈局flex的基本應用(附程式碼)

不言
不言原創
2018-08-01 14:55:104452瀏覽

彈性佈局是什麼?彈性佈局(flex),顧名思義是一種佈局方法,現如今,基本所有的瀏覽器都已經支援彈性佈局。那麼,接下來本文給大家分享的就是彈性佈局flex的基本應用。

如何套用彈性佈局,程式碼如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            border: 1px solid #ccc;
            box-sizing: border-box;
        }
        .box{
            height:20vh;            
            display: flex;          
        }
        .box div{           
            flex: 1; 
        }
        .box div:last-child{
            flex: 2;
        }
    </style>
</head>
<body>
    <div>
        <div>Document1</div>
        <div>Document2</div>
        <div>Document3</div>
        <div>Document4</div>
        <div>Document5</div>
    </div>    
</body>
</html>

執行結果如下:

彈性佈局是什麼?彈性佈局flex的基本應用(附程式碼)

#容器的設定

flex有6個屬性可以設定:

flex-direction:row(主軸由左向右,預設) / row-reverse(主軸由右向左) / column (主軸從上向下)/ column-reverse (主軸從下向上)  決定主軸的方向

flex-wrap:nowrap(默認,不換行) / wrap(換行) / wrap-reverse(換行,第一行在下方) 決定項目在一條軸線上排不下時的換行方式

flex-flow:是上面兩個屬性的簡寫模式預設值:flex-flow :row nowrap。

justify-content:flex-start(預設值,左對齊) / flex-end(右對齊) / center(居中) / space-between(兩端對齊,項目之間的間隔相等) /

space-around(每個項目之間的間隔相等,所以項目之間的間隔比項目與邊框之間的價格大一倍); 決定項目在主軸上的對齊方式。 space-between/around在自適應調節間距時很有用

align-items:flex-start(交叉軸的起點對齊) / flex-end(交叉軸的終點對齊) / center(交叉軸的中點對齊) / baseline(項目的第一行文字的基線對齊)/stretch(預設值,若項目未設定高度或設定為auto,項目將佔滿這整個容器的高度)。定義項目在交叉軸上的對齊方式

align-content:flex-start(與交叉軸的起點對齊) / flex-end(與交叉軸的終點對齊) / center(與交叉軸的中點對齊) /

space-between(與交叉軸的兩端對齊,軸線之間的間隔平均分佈) /space-around(每跟軸線兩側的間隔都相等,所以,軸線之間的間隔比軸線與邊框的間隔大一倍)

/ stretch(預設值,軸線佔滿整個交叉軸)。定義多根軸線的對齊方式,如果項目自有一條軸線,該屬性不起作用

項目的屬性設定

order:定義項目的排列順序,數字越小,排列越靠前,預設為0.

flex-grow:定義項目的放大比例,預設為0,預設情況下即使有剩餘空間項目也不會放大。縮放的方向為flex-direction的方向。

flex-shrink:定義項目的縮小比例,預設為1,空間不足時,該項目會縮小。其值為0表示不縮小.縮放的方向為flex-direction的方向。

flex-basis:定義了在分配多餘空間之前,項目佔據的主軸空間(main size),瀏覽器根據這個屬性沒計算主軸是否有多餘空間,預設值為auto,即項目的本來大小。 flex-basis:80px;寬度(方向為row)設定為80px;

flex:是上面三個屬性的簡寫,預設值為0 1 auto.有兩個快速值:auto(1 1 auto )和none(0 0 auto)

align-self:此屬性允許耽擱項目與其他項目不同的對齊方式,課程覆蓋align-items的屬性值。預設值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則為stretch。

align-self:auto / flex-start / flex-end / center /baseline /stretch flex-basis:值為0與auto(預設)時的區別:前者沒有將整個專案進行計算,而後者則是忽略內容進行算的,所以如果佈局是需要的是每個項目的百分比配置,則應當將flex-basis設定為0.

#相關推薦:

HTML中彈性佈局(Flex)的介紹(附程式碼)#######

以上是彈性佈局是什麼?彈性佈局flex的基本應用(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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