zoukankan      html  css  js  c++  java
  • 如何将一个div水平垂直居中?6种方法做推荐

    1. div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】

    兼容性:,IE7及之前版本不支持

    div{
                 200px;
                height: 200px;
                background: green;
                position:absolute;
                left:0;
                top: 0;
                bottom: 0;
                right: 0;
                margin: auto;
            }

    2. div绝对定位水平垂直居中【margin 负间距】     这或许是当前最流行的使用方法。

             div{
                200px;
                height: 200px;
                background:green;
                position: absolute;
                left:50%;
                top:50%;
                margin-left:-100px;
                margin-top:-100px;
            }        

    3. div绝对定位水平垂直居中【Transforms 变形】

        兼容性:IE8不支持

    div{
                 200px;
                height: 200px;
                background: green;
                position:absolute;
                left:50%;    /* 定位父级的50% */
                top:50%;
                transform: translate(-50%,-50%); /*自己的50% */
            }

    4. 弹性盒模型-css不定宽高水平垂直居中

    .box{
    
                 height:600px;/去掉高度,只能垂直居中。
                 display:flex;
                 justify-content:center;
                 align-items:center;
                   /* aa只要三句话就可以实现不定宽高水平垂直居中。 */
            }
            .box>div{
                background: green;
                 200px;
                height: 200px;
            }

    5. 将父盒子设置为table-cell元素,可以使用text-align:center和vertical-align:middle实现水平、垂直居中。比较完美的解决方案是利用三层结构模拟父子结构

    <p class="outerBox tableCell">
      </p><p class="ok">
        </p><p class="innerBox">tableCell</p>
      <p></p>
    <p></p>
    /*
    table-cell实现居中
    将父盒子设置为table-cell元素,设置
    text-align:center,vertical-align: middle;
    子盒子设置为inline-block元素
    */
    .tableCell{
      display: table;
    }
    .tableCell .ok{
      display: table-cell;
      text-align: center;
      vertical-align: middle;
    }
    .tableCell .innerBox{
      display: inline-block;
    }

    6.  对子盒子实现绝对定位,利用calc计算位置

    <p class="outerBox calc">
        </p><p class="innerBox">calc</p>
    <p></p>
    
    
    /*绝对定位,clac计算位置*/
    .calc{
      position: relative;
    }
    .calc .innerBox{
      position: absolute;
      left:-webkit-calc((500px - 200px)/2);
      top:-webkit-calc((120px - 50px)/2);
      left:-moz-calc((500px - 200px)/2);
      top:-moz-calc((120px - 50px)/2);
      left:calc((500px - 200px)/2);
      top:calc((120px - 50px)/2);
    }

    #div1 {
        position: absolute;
        left: 50px;
         calc(100% - 100px);
        border: 1px solid black;
        background-color: yellow;
        padding: 5px;
        text-align: center;
    }
  • 相关阅读:
    PHP如何解决网站大流量与高并发的问题
    HTML CSS 特殊字符表
    PHP 把返回的数据集转换成Tree树
    网页加载时域名加载数量限制
    关于浮点型误差的解决方法
    MVC三层架构
    MyBatis
    plsql储存过程
    游标和触发器
    使用plsql编程
  • 原文地址:https://www.cnblogs.com/sarah-wen/p/10844404.html
Copyright © 2011-2022 走看看