<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        CSS3的Flexbox骰子布局的實現及問題講解

        來源:懂視網 責編:小采 時間:2020-11-27 18:53:17
        文檔

        CSS3的Flexbox骰子布局的實現及問題講解

        CSS3的Flexbox骰子布局的實現及問題講解:本文中只是熟悉基本屬性的用法,并完成一組骰子各個面的制作。在下面的內容我不會涉及flexbox一些比較棘手的問題,比如舊版本語法、供應商前綴、瀏覽器怪癖等:一、First Face我們知道,骰子有六個面,每個面的點的個數代表該面的值,第一個面由一個水平垂直
        推薦度:
        導讀CSS3的Flexbox骰子布局的實現及問題講解:本文中只是熟悉基本屬性的用法,并完成一組骰子各個面的制作。在下面的內容我不會涉及flexbox一些比較棘手的問題,比如舊版本語法、供應商前綴、瀏覽器怪癖等:一、First Face我們知道,骰子有六個面,每個面的點的個數代表該面的值,第一個面由一個水平垂直

        本文中只是熟悉基本屬性的用法,并完成一組骰子各個面的制作。在下面的內容我不會涉及flexbox一些比較棘手的問題,比如舊版本語法、供應商前綴、瀏覽器怪癖等:

        一、First Face
        我們知道,骰子有六個面,每個面的點的個數代表該面的值,第一個面由一個水平垂直居中的點組成。下面來看具體的實現:

        <section name="01" class="face-01"> 
         <span class="dot"></span> 
         </section> 
        face-01 { 
        display: flex; 
        justify-content: center; 
        align-items: center;

        關于justify-content和align-items的用法請參考這里justify-content,align-items。使用flexbox,垂直居中兩行屬性就可以搞定,很easy!

        二、Second Face

        .face-02 { 
         display: flex; 
         justify-content: space-between; 
        } 
        .face-02 .dot:nth-of-type(2) { 
         align-self: flex-end; 
        } 
         <section name="02" class="face-02"> 
         <span class="dot"></span> 
         <span class="dot"></span> 
         </section>

        這里我們不能使用align-items屬性,使用它兩個點都會受影響,flexbox提供了一個align-self屬性,這個屬性可以讓我們更方便的控制flex items的各項沿著cross axias方向,設置不同的布局。align-self的用法參考這里align-self。

        三、Third Face

        .face-03 { 
         display: flex; 
         justify-content: space-between; 
        } 
        .face-03 .dot:nth-of-type(2) { 
         align-self: center; 
        } 
        .face-03 .dot:nth-of-type(3) { 
         align-self: flex-end; 
        } 
        <section name="03" class="face-03"> 
         <span class="dot"></span> 
         <span class="dot"></span> 
         <span class="dot"></span> 
        </section>

        該face與second face 使用的屬性相同,不再解釋。

        四、Fourth Face

        .face-04 { 
         display: flex; 
         justify-content: space-between; 
         flex-direction: column; 
        } 
        .face-04 .column { 
         display: flex; 
         justify-content: space-between; 
        } 
        <section name="04" class="face-04"> 
         <div class="column"> 
         <span class="dot"></span> 
         <span class="dot"></span> 
         </div> 
         <div class="column"> 
         <span class="dot"></span> 
         <span class="dot"></span> 
         </div> 
        </section>

        本例中使用了flex-direction,從字面意思可以看出,是用來控制flex的方向,即按列還是按行來布局,該屬性更詳細的用法可以參考這里flex-direction

        后面Fifth Face 和 Sixth Face,根據前面的布局思想,就很easy了不再贅述!

        寫到此,想想配合JS寫一個玩骰子的小游戲應該很easy了吧。

        五、實現1,2,3,4,6,12等份

        .row { 
         display: flex; 
         box-sizing: border-box; 
        } 
         
        .column { 
         margin: 10px; 
         flex-grow: 1; 
         flex-shrink: 1; 
         flex-basis: 0; 
         box-sizing: border-box; 
        } 
        <section class="row"> 
         <div class="column">One</div> 
        </section> 
        <section class="row"> 
         <div class="column">One Half</div> 
         <div class="column">One Half</div> 
        </section> 
        <section class="row"> 
         <div class="column">One Third</div> 
         <div class="column">One Third</div> 
         <div class="column">One Third</div> 
        </section> 
        <section class="row"> 
         <div class="column">One Fourth</div> 
         <div class="column">One Fourth</div> 
         <div class="column">One Fourth</div> 
         <div class="column">One Fourth</div> 
        </section> 
        <section class="row"> 
         <div class="column">One Sixth</div> 
         <div class="column">One Sixth</div> 
         <div class="column">One Sixth</div> 
         <div class="column">One Sixth</div> 
         <div class="column">One Sixth</div> 
         <div class="column">One Sixth</div> 
        </section> 
        <section class="row"> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
         <div class="column">One Twelve</div> 
        </section>

        在本例中用到了flex-grow,flex-shrink,flex-basis三個屬性。
        1. flex-grow:根據需要用來定義伸縮項目的擴展能力。它接受一個不帶單位的值做為一個比例。主要用來決定伸縮容器剩余空間按比例應擴展多少空間。
        如果所有伸縮項目的“flex-grow”設置了“1”,那么每個伸縮項目將設置為一個大小相等的剩余空間。如果你給其中一個伸縮項目設置了“flex-grow”值為“2”,那么這個伸縮項目所占的剩余空間是其他伸縮項目所占剩余空間的兩倍。負值無效。
        2. flex-shrink:根據需要用來定義伸縮項目收縮的能力。負值同樣無效。
        3. flex-basis: 用來設置伸縮基準值,剩余的空間按比率進行伸縮,不支持負值。如果設置為0,圍繞內容的額外的空間不會考慮在內。如果設置為auto,額外的空間是基于flex-grow的值分配。

        六、實現2-3-7布局

        .row237 .column:first-of-type { 
         flex-grow: 2; 
         flex-basis: 5px; 
        } 
        .row237 .column:nth-of-type(2) { 
         flex-grow: 3; 
         flex-basis: 18px; 
        } 
        .row237 .column:nth-of-type(3) { 
         flex-grow: 7; 
         flex-basis: 70.5px; 
        } 
         
        <section class="row row237"> 
         <div class="column">One Half</div> 
         <div class="column">One Third</div> 
         <div class="column">One Seventh</div> 
        </section>

        此處各項flex-basis的值的計算,應該有個公式(待解決),如果有這個公式,配合sass,less等預處理語言實現多列自適應布局將會很方便。

        更多CSS3的Flexbox骰子布局的實現及問題講解相關文章請關注PHP中文網!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        CSS3的Flexbox骰子布局的實現及問題講解

        CSS3的Flexbox骰子布局的實現及問題講解:本文中只是熟悉基本屬性的用法,并完成一組骰子各個面的制作。在下面的內容我不會涉及flexbox一些比較棘手的問題,比如舊版本語法、供應商前綴、瀏覽器怪癖等:一、First Face我們知道,骰子有六個面,每個面的點的個數代表該面的值,第一個面由一個水平垂直
        推薦度:
        標簽: 實現 布局 cs
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产公开免费人成视频| 亚洲精品成人片在线观看精品字幕| 久久国产精品成人片免费| 两性刺激生活片免费视频| 亚洲综合区小说区激情区| 亚洲区视频在线观看| 免费精品视频在线| 成人人免费夜夜视频观看| 亚洲gv白嫩小受在线观看| 色偷偷亚洲第一综合| 免费三级毛片电影片| 亚洲免费视频观看| 成年女人毛片免费观看97| 亚洲精品动漫在线| 波多野结衣免费一区视频| 亚洲电影日韩精品| 亚洲高清国产拍精品熟女| 中文毛片无遮挡高潮免费| 亚洲欧洲日产国码无码久久99| 日韩成人精品日本亚洲| 亚洲精品麻豆av| 色妞www精品视频免费看| 看全色黄大色大片免费久久| 亚洲最大福利视频| 午夜性色一区二区三区免费不卡视频| 亚洲大成色www永久网址| 99久久久国产精品免费蜜臀 | 成年女人午夜毛片免费看| 亚洲女女女同性video| 国产在线观看免费观看不卡 | 成人亚洲国产va天堂| 亚洲乱亚洲乱少妇无码| 久久久久国产精品免费看| 亚洲色婷婷六月亚洲婷婷6月| 免费看黄的成人APP| 亚洲第一区二区快射影院| 亚洲人成77777在线播放网站| 精品国产sm捆绑最大网免费站| 亚洲第一永久在线观看| 国产成人免费A在线视频| 免费国产va视频永久在线观看|