zoukankan      html  css  js  c++  java
  • CSS 居中布局

    来源:http://www.cnblogs.com/QianBoy/p/8539077.html

    水平居中

    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;
    }
  • 相关阅读:
    关于重构之Switch的处理【二】
    转,有用
    C#枚举总结和其扩展用法(通过枚举描设置枚举值)
    DataGridView编辑状态和CurrentCellDirtyStateChanged
    C#获取DataGirdView选定子项子控件类型,is,as的用法
    VS2013添加作者注释(C#工程)
    开通博客了 zkh
    CentOS7下在线安装mysql zkh
    设计模式之简单工厂,工厂方法,抽象工厂模式(二) zkh
    asp.net mvc中捕获异常和使用log4net日志记录组件 zkh
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/8572827.html
Copyright © 2011-2022 走看看