zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    【hdu 2569】ACM程序设计期末考试081230
    【信息安全111班暑期学习工作任务】
    【hdu 1698 Just a Hook(被搞死)】
    Win8下安装 .net framework 3.5.1 无需连网安装方法,证实有效
    【UVA 488 Triangle Wave】
    【As Easy As A+B 专题训练排序】
    【hdu 1787 GCD Again (数论、欧拉函数)】
    【hdu 2602 Bone Collector(动态规划、01背包)】
    【poj 1953 World Cup Noise】
    【poj 2478 Farey Sequence (欧拉函数、数论)】
  • 原文地址:https://www.cnblogs.com/wenzichiqingwa/p/4885349.html
Copyright © 2011-2022 走看看