zoukankan      html  css  js  c++  java
  • CSS布局方案

    居中布局

    水平居中

    1)使用inline-block+text-align

    原理:先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中。

    用法:对子框设置display:inline-block,对父框设置text-align:center。

    <div class="parent">
        <div class="child">DEMO</div>
    </div>
    .child{
        display: inline-block;
    }
    .parent{
        text-align: center;
    }

    缺点:child里的文字也会水平居中,可以在.child添加text-align:left;还原

    2)使用absolute+transform

    <div class="parent">
        <div class="child">DEMO</div>
    </div>
    .child{
        position: relative;
    }
    .parent{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    3)使用flex+justify-content

    原理:通过CSS3中的布局利器flex中的justify-content属性来达到水平居中。

    用法:先将父框设置为display:flex,再设置justify-content:center。

    <div class="parent">
        <div class="child">DEMO</div>
    </div>
    .parent{
        display: flex;
        justify-content: center;
    }

    缺点:低版本浏览器(ie6 ie7 ie8)不支持

    4)使用flex+margin

    原理:通过CSS3中的布局利器flex将子框转换为flex item,再设置子框居中以达到居中。

    用法:先将父框设置为display:flex,再设置子框margin:0 auto。

    <div class="parent">
        <div class="child">DEMO</div>
    </div>
    .parent{
        display: flex;
    }
    .child{
        margin: 0 auto;
    }

    垂直居中

    1)使用absolute+transform

    用法:先将父框设置为position:relative,再设置子框position:absolute,top:50%,transform:translateY(-50%)。

    .parent {
        position:relative;
    }
    .child {
        position:absolute;
        top:50%;
        transform:translateY(-50%);
    }

    2)使用flex+align-items

    原理:通过设置CSS3中的布局利器flex中的属性align-times,使子框垂直居中。

    .parent {
        position:flex;
        align-items:center;
    }

    水平垂直居中

    1)使用absolute+transform

    .parent {
        position:relative;
    }
    .child {
        position:absolute;
        left:50%;
        top:50%;
        transform:tranplate(-50%,-50%);
    }

    2)使用flex+justify-content+align-items

    .parent {
        display:flex;
        justify-content:center;
        align-items:center;
    }

     

  • 相关阅读:
    uva 10791 Minimum Sum LCM
    欧拉函数
    uva 10820 Send a Table
    本原勾股数组(PPT)
    uva 10003 Cutting Sticks
    生成随机数据
    uva 10759 Dice Throwing
    uva 106 Fermat vs. Pythagoras
    WPF 与 摄像头资料
    纠结于wpf 多国语言方案,希望各位指点
  • 原文地址:https://www.cnblogs.com/QianBoy/p/8539077.html
Copyright © 2011-2022 走看看