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;
    }
  • 相关阅读:
    IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
    SQL Server重新利用数据表的空间
    IE8“开发人员工具”使用详解上
    eclipse启动时提示"Failed to load the jni shared library"
    Python学习中遇到的问题(更新中...)
    “ORA12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”问题的解决
    UVa 10881 Piotr's Ants
    (转)设计模式 经典书籍必备推荐
    eclipse的配置
    用python计算文件夹大小
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/8572827.html
Copyright © 2011-2022 走看看