92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

彈性布局(Flex)+骰子旋轉實例^v^

2020-3-1    前端達人

彈性布局(Flex)

隨著移動互聯網的發展,對于網頁布局來說要求越來越高,而傳統的布局方案對于實現特殊布局非常不方便,比如垂直居中。

2009年,W3C 提出了一種新的方案----Flex 布局,可以簡便、完整、響應式地實現各種頁面布局。目前,它已經得到了所有瀏覽器的支持,這意味著,現在就能很安全地使用這項功能。

下面是一些彈性布局的基本語法:

兩部分:

1. 語法是添加到父容器上的
        display : flex;(彈性盒子的標志哦!?。。?        flex-direction: row; 布局的排列方向 (主軸排列方向)
             row 默認值,顯示為行。方向為當前文檔水平流方向,默認情況下是從左往右。
             row-reverse  顯示為行。但方向和row屬性值是反的
             column  顯示為列
             column-reverse 顯示為列。但方向和column屬性值是反的
        flex-wrap : nowrap; 是否進行換行處理。
             nowrap; 默認值,不換行處理
             wrap; 換行處理
             wrap-reverse; 反向換行
        flex-flow : flex-direction flex-wrap 復合寫法 (是有順序的)。
        justify-content ; 屬性決定了主軸方向上子項的對齊和分布方式。  
            flex-start : 子項都去起始位置對齊。
            flex-end : 子項都去結束位置對齊。
            center : 子項都去中心位置對齊。
            space-between : 表現為兩端對齊。多余的空白間距在元素中間區域分配,兩邊沒寬。 
            space-around : 邊緣兩側的空白只有中間空白寬度一半即每個塊都有左右間距。
            space-evenly :每個flex子項兩側空白間距完全相等。
        align-items : 每一行中的子元素上下對齊方式。
            stretch;默認值,flex子項拉伸
            flex-start;容器頂部對齊
            center;容器居中對齊
            flex-end;容器底部對齊
        align-content : 跟justify-content相反的操作。側軸的對齊方式。(最少需要兩行才能看出效果,因為他是多行的一個上下對齊方式)
            默認:多行下,有幾行就會把容器劃分為幾部分,默認就是stretch拉伸的。
            值跟justify-content取值是相同的。

2. 語法是添加到子容器上的?
        order : 排序(值越大越后)
            0:默認值      eg:1234
            1:放在后面    eg:1342
            -2:放在前面   eg:2134
        flex-grow : 擴展 ( 想看到擴展的效果,必須有空隙 )
            0 : 默認值 , 不去擴展
            0.5:占空隙的一半
            1 : 去擴展 , 會把空白區域全部沾滿
         ( 注:子元素會按照設置的比例值來分配空隙,如果比例值總和小于1,那么會有空隙,如果比例值總和大于等于1,那么就沒有空隙。)
        flex-shrink : 收縮
            正常默認值是1
            0表示不收縮,.5收縮小一些,2收縮大一些。(大小是跟正??s放1進行比較的)
        flex-basis : 跟flex-shrink/flex-grow很像。
            flex-shrink/flex-grow是設置一個比例值,flex-basis是設置一個具體值。
        flex : 一種復合寫法
            flex-grow  flex-shrink  flex-basis
            flex:1;
                flex : 1 1 0    
            flex:0;
                flex : 0 1 0
        algin-self: 跟align-items操作很像,區別就是只是針對某一個子項。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{margin: 0;padding: 0;}
        ul{list-style: none;}
        a{text-decoration: none;}
        img{display: block;}

        .box1{width: 150px;height: 150px;display: flex;border: 1px black solid;margin: 20px auto;border-radius: 10px;justify-content: center;align-items: center;}
        .box1 div{width: 30px;height: 30px;border-radius:50%;background: black;}

        .box2{width: 150px;height: 150px;display: flex;border: 1px black solid;margin: 20px auto;border-radius: 10px;align-items: center;justify-content: space-between;}
        .box2 div{width: 30px;height: 30px;border-radius:50%;background: black;margin: 10px;}
        .box2 div:nth-of-type(1){align-self: flex-start;}
        .box2 div:nth-of-type(2){align-self: flex-end;}

        .box3{width: 150px;height: 150px;display: flex;border: 1px black solid;margin: 20px auto;border-radius: 10px;align-items: center;justify-content: space-between;}
        .box3 div{width: 30px;height: 30px;border-radius:50%;background: black;margin: 10px;}
        .box3 div:nth-of-type(1){align-self: flex-start;}
        .box3 div:nth-of-type(3){align-self: flex-end;}

        .box4{width: 150px;height: 150px;border: 1px black solid;margin: 20px auto;border-radius: 10px;display: flex;flex-direction: column;}
        .box4 div{height: 50%;display: flex;flex-direction: row;justify-content: space-around;align-items: center;}
        .box4 div li{display: block; width: 30px;height: 30px;border-radius:50%;background: black;}

        .box5{width: 150px;height: 150px;border: 1px black solid;margin: 20px auto;border-radius: 10px;display: flex;flex-direction: column;}
        .box5 div{height: 50%;display: flex;flex-direction: row;justify-content: space-around;align-items: center;}
        .box5 div li{display: block; width: 30px;height: 30px;border-radius:50%;background: black;}

        .box6{width: 150px;height: 150px;border: 1px black solid;margin: 20px auto;border-radius: 10px;display: flex;flex-direction: column;}
        .box6 div{height: 50%;display: flex;flex-direction: row;justify-content: space-around;align-items: center;}
        .box6 div li{display: block; width: 30px;height: 30px;border-radius:50%;background: black;}

        #box{width: 400px;height: 400px;margin: 20px auto;border: 1px springgreen solid; 
        perspective: 500px;perspective-origin: right top;}
        #box .main{position: relative;width: 150px;height: 150px;margin: 125px;
        transform-style: preserve-3d;transition: 4s;transform-origin: center center -50px;}
        #box .main .box1{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;}
        #box .main .box2{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;left: 150px;transform-origin:left; transform:rotateY(90deg);}
        #box .main .box3{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;left: -150px;transform-origin:right; transform:rotateY(-90deg);}
        #box .main .box4{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;top: -150px;transform-origin:bottom; transform:rotateX(90deg);}
        #box .main .box5{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;top: 150px;transform-origin:top; transform:rotateX(-90deg);}
        #box .main .box6{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;transform:translateZ(-150px) rotateY(180deg);}

        #box:hover .main{transform:rotateY(360deg);}
    </style>
</head>
<body>
    <div id="box">
        <div class="main">
            <div class="box1">
                <div></div>
            </div>
            <div class="box2">
                <div></div>
                <div></div>
            </div>
            <div class="box3">
                <div></div>
                <div></div>
                <div></div>
            </div>
            <div class="box4">
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
            </div>
            <div class="box5">
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
            </div>
            <div class="box6">
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
注:默認情況下,在彈性盒子中的子元素的左右排列的。 注: 水平是主軸的時候:默認情況下,當寬高不寫的時候,寬度由內容決定,高度由父容器決定。 垂直是主軸的時候:默認情況下,當寬高不寫的時候,寬度由父容器決定,高度由內容決定。 注:當子項的總寬度大于父容器的時候,會自動收縮的(彈性的優先級是大于自身固定大小的) 注:當子項的內容已經達到了父容器最小寬高的時候,就會出現溢出的現象。 注:彈性布局中用的頻率比較多的語法: display : flex; flex-direction; justify-content; align-items; flex; 注:彈性布局的優勢是做一維布局,網格布局的優勢是做二維布局。

下面是彈性布局骰子案例代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{margin: 0;padding: 0;}
        ul{list-style: none;}
        a{text-decoration: none;}
        img{display: block;}

        .box1{width: 150px;height: 150px;display: flex;border: 1px black solid;margin: 20px auto;border-radius: 10px;justify-content: center;align-items: center;}
        .box1 div{width: 30px;height: 30px;border-radius:50%;background: black;}

        .box2{width: 150px;height: 150px;display: flex;border: 1px black solid;margin: 20px auto;border-radius: 10px;align-items: center;justify-content: space-between;}
        .box2 div{width: 30px;height: 30px;border-radius:50%;background: black;margin: 10px;}
        .box2 div:nth-of-type(1){align-self: flex-start;}
        .box2 div:nth-of-type(2){align-self: flex-end;}

        .box3{width: 150px;height: 150px;display: flex;border: 1px black solid;margin: 20px auto;border-radius: 10px;align-items: center;justify-content: space-between;}
        .box3 div{width: 30px;height: 30px;border-radius:50%;background: black;margin: 10px;}
        .box3 div:nth-of-type(1){align-self: flex-start;}
        .box3 div:nth-of-type(3){align-self: flex-end;}

        .box4{width: 150px;height: 150px;border: 1px black solid;margin: 20px auto;border-radius: 10px;display: flex;flex-direction: column;}
        .box4 div{height: 50%;display: flex;flex-direction: row;justify-content: space-around;align-items: center;}
        .box4 div li{display: block; width: 30px;height: 30px;border-radius:50%;background: black;}

        .box5{width: 150px;height: 150px;border: 1px black solid;margin: 20px auto;border-radius: 10px;display: flex;flex-direction: column;}
        .box5 div{height: 50%;display: flex;flex-direction: row;justify-content: space-around;align-items: center;}
        .box5 div li{display: block; width: 30px;height: 30px;border-radius:50%;background: black;}

        .box6{width: 150px;height: 150px;border: 1px black solid;margin: 20px auto;border-radius: 10px;display: flex;flex-direction: column;}
        .box6 div{height: 50%;display: flex;flex-direction: row;justify-content: space-around;align-items: center;}
        .box6 div li{display: block; width: 30px;height: 30px;border-radius:50%;background: black;}

        #box{width: 400px;height: 400px;margin: 20px auto;border: 1px springgreen solid; 
        perspective: 500px;perspective-origin: right top;}
        #box .main{position: relative;width: 150px;height: 150px;margin: 125px;
        transform-style: preserve-3d;transition: 4s;transform-origin: center center -50px;}
        #box .main .box1{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;}
        #box .main .box2{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;left: 150px;transform-origin:left; transform:rotateY(90deg);}
        #box .main .box3{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;left: -150px;transform-origin:right; transform:rotateY(-90deg);}
        #box .main .box4{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;top: -150px;transform-origin:bottom; transform:rotateX(90deg);}
        #box .main .box5{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;top: 150px;transform-origin:top; transform:rotateX(-90deg);}
        #box .main .box6{position: absolute;background:limegreen;left: 0;top: 0;
        width: 150px;height: 150px;transform:translateZ(-150px) rotateY(180deg);}

        #box:hover .main{transform:rotateY(360deg);}
    </style>
</head>
<body>
    <div id="box">
        <div class="main">
            <div class="box1">
                <div></div>
            </div>
            <div class="box2">
                <div></div>
                <div></div>
            </div>
            <div class="box3">
                <div></div>
                <div></div>
                <div></div>
            </div>
            <div class="box4">
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
            </div>
            <div class="box5">
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
            </div>
            <div class="box6">
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
                <div>
                    <li></li>
                    <li></li>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

實際效果:
20200229132935355.png


————————————————
版權聲明:本文為CSDN博主「GLINLIND」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/GLINLIND/article/details/104572530



日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
性色av一区二区咪爱| 日韩av中文字幕在线| 久久亚洲一区二区三区四区五区高| 亚洲欧美资源在线| 久久精品欧美视频| 亚洲国产精彩中文乱码av在线播放| 国内精品久久久久久影视8| 亚洲综合成人婷婷小说| 97热在线精品视频在线观看| 亚洲国产精品一区二区久| 日韩视频精品在线| 久久精品视频导航| 琪琪第一精品导航| 欧美激情综合色综合啪啪五月| 欧美成人亚洲成人| 中文字幕成人精品久久不卡| 国模精品一区二区三区色天香| 亚洲欧美精品一区| 亚洲欧美制服另类日韩| 精品国产欧美一区二区三区成人| 日韩成人久久久| 欧美日韩一区二区在线| 亚洲欧美中文日韩v在线观看| 国产成人极品视频| 亚洲精品成人久久电影| 日韩av免费看网站| 日韩av理论片| 国产精品久久久久久久久久久久| 亚洲国产精品一区二区三区| 亚洲资源在线看| 日韩av在线免费| 日韩不卡中文字幕| 18性欧美xxxⅹ性满足| 日韩在线视频免费观看| 亚洲第一av在线| 一本色道久久综合狠狠躁篇怎么玩| 日韩一区二区在线视频| 动漫精品一区二区| 午夜精品一区二区三区在线视| 日韩视频中文字幕| 日韩视频免费在线观看| 久久久久久久久久久av| 狠狠躁18三区二区一区| 中文字幕av一区二区三区谷原希美| 久久久久久久国产精品视频| 欧美一级黄色网| 色综合天天狠天天透天天伊人| 亚洲精品成人av| 久久天天躁狠狠躁夜夜躁2014| 亚洲欧美一区二区三区在线| 米奇精品一区二区三区在线观看| 国产偷亚洲偷欧美偷精品| 国产精品成人aaaaa网站| 欧美日韩精品在线视频| 性欧美xxxx交| 欧美精品18videos性欧| 午夜免费在线观看精品视频| 国产精品久久久久久久7电影| 蜜臀久久99精品久久久久久宅男| 欧美国产日韩精品| 欧美xxxx18国产| 性欧美办公室18xxxxhd| 久久频这里精品99香蕉| 中文字幕久热精品在线视频| 日韩精品在线视频| 国产日韩欧美中文| 日韩大陆欧美高清视频区| 国产精品www色诱视频| 精品香蕉一区二区三区| 亚洲一区国产精品| 黑人狂躁日本妞一区二区三区| 精品欧美激情精品一区| 国产一区二区三区视频| 亚洲第一免费播放区| 国语自产精品视频在免费| 国产精品美女呻吟| 久久久999国产精品| 亚洲精品久久久久中文字幕二区| 国产日韩在线精品av| 在线精品视频视频中文字幕| 久热在线中文字幕色999舞| 57pao成人永久免费视频| 国产精品国产自产拍高清av水多| 欧美精品激情blacked18| 亚洲欧美国产日韩中文字幕| 日韩成人在线播放| 久久精视频免费在线久久完整在线看| zzjj国产精品一区二区| 久久久这里只有精品视频| 91精品在线观| 欧美日韩国产第一页| 51精品在线观看| 911国产网站尤物在线观看| 久久久久久久久久亚洲| 播播国产欧美激情| 亚洲精选一区二区| 国产精品视频大全| 日韩欧美视频一区二区三区| 成人欧美一区二区三区在线湿哒哒| 97精品视频在线| 成人福利网站在线观看11| 岛国av一区二区三区| 成人精品福利视频| 亚洲一区二区福利| 国产日韩欧美在线看| 91久久嫩草影院一区二区| 欧美自拍视频在线| 亚洲综合色激情五月| www.亚洲人.com| 日韩高清有码在线| 91chinesevideo永久地址| 一本一道久久a久久精品逆3p| 亚洲v日韩v综合v精品v| 91成人性视频| 欧美裸身视频免费观看| 久久亚洲春色中文字幕| 日韩欧美成人精品| 久久精品99久久久香蕉| 久久精品国产久精国产一老狼| 国产亚洲日本欧美韩国| 亚洲淫片在线视频| 亚洲精品一区二区三区婷婷月| 欧美电影免费看| 成人黄色片网站| 久久久久久网址| 成人网欧美在线视频| 国产91精品最新在线播放| 伊人久久五月天| 亚洲成人亚洲激情| 日韩中文字幕视频在线观看| 亚洲香蕉伊综合在人在线视看| 日韩精品免费一线在线观看| 久久精品久久久久久国产 免费| 欧美华人在线视频| 亚洲另类欧美自拍| 精品久久久香蕉免费精品视频| 国产精品99久久99久久久二8| 国产一区二区三区四区福利| 亚洲视频在线免费看| 久久久亚洲欧洲日产国码aⅴ| 亚洲最大中文字幕| 色妞在线综合亚洲欧美| 亚洲欧美一区二区精品久久久| 日韩在线精品视频| 国产一区二区三区在线免费观看| 国内久久久精品| 久久综合久中文字幕青草| 最新中文字幕亚洲| 午夜精品久久久99热福利| 欧美极品在线播放| 亚洲精品视频网上网址在线观看| 热久久这里只有精品| 日韩美女视频免费看| 狠狠色狠色综合曰曰| 国产成人精品久久二区二区91| 丝袜美腿亚洲一区二区| 欧美大全免费观看电视剧大泉洋| 4p变态网欧美系列| 欧美激情图片区| 国产欧美一区二区三区视频| 中文字幕久久精品| 国产一区二区三区在线播放免费观看| 永久免费精品影视网站| 国产精品福利在线观看网址|