html5-彈性佈局一

1.彈性佈局,解決高度塌陷的問題

2.彈性佈局只對他的直接子元素控制,子元素的子元素不控制

3.彈性佈局有主軸概念,當x軸爲主軸,y爲側軸,默認主軸的方向從左到右。

flex-direction: row/row-reverse;從左到右/從右到左

當y軸爲主軸時側軸爲x軸,默認方向是從上到下。

flex-direction: column/column-reverse 從上到下,從下到上。

4.當子元素的寬度大於父元素的寬度是會壓縮子元素寬度,從而使他放在一行中去。

比如父元素框800px,子元素框200px,有10個子元素,他會按比例縮小寬度放在同一行。默認是這樣的

5.如果項換行,就使用flex-wrap: wrap;設置換行,這樣又牽扯到如果主軸是x軸側軸是y軸,根據側軸如何進行分佈

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            .parament{
                width: 900px;
                height: 800px;
                border: 1px solid #333;
                margin: 0 auto;
                /* 設置爲彈性容器,只對他的直接子元素child管用,間接的不管用 */
                display: flex;
                /* 設置主軸方向 */
                flex-direction: row;
                /* justify-content:設置主軸內容的分佈情況
                 center:居中
                 flex-start:默認向主軸開始的方向靠攏
                 flex-end:向主軸結束的方向靠攏
                 space-around:平均分佈兩端的距離是中間距離的一半
                 space-between:平均分佈兩端沒有間距
                 space-evenly:所有的間距都一樣大
                 */
                justify-content: space-evenly;
                /* 
                align-items 設置靠側軸分佈
                flex-start像側軸的開始靠攏
                flex-end 向側軸的結束方向進行靠攏
                center 側軸的中間分佈
                stretch 默認是拉伸,拉伸到和父元素一樣高,因爲子元素設置了高度,所以不會拉伸
                
                */
                align-items: center;
                /* 設置換行flex-wrap
                nowrap 默認值不換行
                wrap 設置換行
                */
                flex-wrap: wrap;
                /* 設置側軸的多行分佈align-content
                flex-end 多行內容往側軸的結束靠攏
                flex-start 多行內容往側軸的開始靠攏
                center 多行居中
                space-around 平均分佈,兩邊有間距,間距是中間的一半
                space-between 平均分佈,兩邊沒有間距
                space-evenly 平均分佈,所有間距一致
                 */
                align-content: space-evenly;
            }
            .child{
                width: 200px;
                height: 200px;
            }
            .c1{
                background-color: cadetblue;
            }
            .c2{
                background-color: aqua;
            }
            .c3{
                background-color: coral;
            }
        </style>
    </head>
    <body>
        <div class="parament">
            <div class="child c1">1</div>
            <div class="child c2">2</div>
            <div class="child c3">3</div>
            <div class="child c1">1</div>
            <div class="child c2">2</div>
            <div class="child c3">3</div>
            <div class="child c1">1</div>
            <div class="child c2">2</div>
            <div class="child c3">3</div>
            <div class="child c1">1</div>
            <div class="child c2">2</div>
            <div class="child c3">3</div>
        </div>
            </div>
        </div>
    </body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章