• flexbox弹性盒子布局


    混合划分

    demo1,css:

     #demo1{
                width: 100%;
                background: #ccc;
                display: -webkit-flex;/*表示使用弹性布局*/
            }
    
            #demo1 .item{
                flex: 1;/*占容器的比例*/
                text-align: center;
                background:#00ff00;
                color: #000;
                padding: 5px;
                margin-left: 2px;
            }
    
            #demo1 .item2{
                 flex: 2;/*占容器的比例*/
                text-align: center;
                background:#0000ff;
                color: #000;
                padding: 5px;
                margin-left: 2px;
            }
    
            #demo1 .item3{
                 width:100px;
                text-align: center;
                background:#ee00ff;
                color: #000;
                padding: 5px;
                margin-left: 2px;
            }

    demo1,html

      <div id="demo1">
            <div class="item">
                flex:1
            </div>
            <div class="item">
                flex:1
            </div>
            <div class="item2">
                flex:2
            </div>
            <div class="item3">
                我只有100px
            </div>
        </div>

    实践demo1,看看效果。

    不定宽高,水平垂直居中

    方法1:可实现屏幕的水平垂直居中

    demo2,css(1)

    #demo2{
                position: absolute;
                top: 50%;
                left:50%;
                z-index: 3;
                -webkit-transform: translate(-50%,-50%);
                border-radius: 6px;
                background:#00ff00;
                border:1px solid #000;
            }

    demo2,html(1)

    <div id="demo2">
            <p>不定宽高的水平垂直居中</p><br/>方法1
        </div>

    方法2:似乎不可实现屏幕的水平垂直居中,只能实现某个容器内的水平垂直居中(容器最好是有宽高)

    demo2,css(2)

     #demo3{
        width:100%;
        height: 600px;
        background:#ccc;
        justify-content: center;
        align-items: center;
        display: -webkit-flex;/*表示使用弹性布局*/
     }
    
    #demo3 .item{
                /*设计item是个圆形*/
                width:50px;
                height:50px;
                border-radius: 50px;
                background:#000;
                border:1px solid red;
            }

    demo2,html(2)

    <div id="demo3">   <span class="item"></span> </div> 

    实践demo2,看看效果

    !!补充:

    兼容性

    1,ios可以使用最新flex布局

    2,Android4.4以下只能兼容旧版本的flexbox布局

    3,Android4.4及以上,可以使用最新的flex布局

    所以,建议使用旧版本兼容性的flexbox布局。

    属性替换如下:

    新flex布局 旧flexbox布局
    display: -webkit-flex;
    display: -webkit-flex-box;
    justify-content: center;
    box-pack: center;
    -webkit-flex:1 -webkit-flex-box:1
    align-items: center;
    box-align: center;
  • 相关阅读:
    PAT甲题题解-1030. Travel Plan (30)-最短路+输出路径
    PAT甲题题解-1029. Median (25)-求两序列的中位数,题目更新了之后不水了
    PAT甲题题解-1028. List Sorting (25)-水排序
    BZOJ 1492 货币兑换Cash
    Codeforces 276D Little Girl and Maximum XOR
    Codeforces 526E Transmitting Levels
    Codeforces 335B Palindrome
    BZOJ 2527 Meteors
    Codeforces 449D Jzzhu and Numbers
    FJ省队集训DAY4 T3
  • 原文地址:https://www.cnblogs.com/wenzichiqingwa/p/4885349.html
Copyright © 2020-2023  润新知