• div水平垂直居中的六种方法


    在平时,我们经常会碰到让一个div框针对某个模块上下左右都居中(水平垂直居中),其实针对这种情况,我们有多种方法实现。

    方法一:

      绝对定位方法:不确定当前div的宽度和高度,采用 transform: translate(-50%,-50%); 当前div的父级添加相对定位(position: relative;

      图片展示:

      

      代码如下:

    div{
        background:red;
        position: absolute;
        left:50%;
        top:50%;
        transform: translate(-50%, -50%);
    } 
    

     

    方法二:

      绝对定位方法:确定了当前div的宽度,margin值为当前div宽度一半的负值

      图片展示: 如方法一的图片展示

      代码如下:

    div{
        600px;
        height: 600px;
        background:red;
        position: absolute;
        left:50%;
        top:50%;
        margin-left:-300px;
        margin-top:-300px;
    } 
    

      

    方法三:

      绝对定位方法:绝对定位下top left right bottom 都设置0

      图片展示: 如方法一的图片展示

      代码如下:

    <!--html-->
    <div class="child">我是子级</div>
    /**css**/
    div.child{
         600px;
        height: 600px;
        background: red;
        position:absolute;
        left:0;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
    }
    

      

    方法四:

      flex布局方法:当前div的父级添加flex css样式

          展示图如下:

      

      代码如下:

    <!--html-->
    <div class="box">
        <div class="child">child</div>
    </div>
    /**css**/
    .box{
        height:800px;
        -webkit-display:flex;
        display:flex;
        -webkit-align-items:center;
        align-items:center;
        -webkit-justify-content:center;
        justify-content:center;
        border:1px solid #ccc;
    }
    div.child{
        600px;
        height:600px;
        background-color:red;
    }
    

      

    方法五:

      table-cell实现水平垂直居中: table-cell middle center组合使用

          展示图如下:

        

          代码如下:

    <!--html-->
    <div class="table-cell">
        <p>我爱你</p>
    </div>
    /**css**/
    .table-cell {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
         240px;
        height: 180px;
        border:1px solid #666;
    }
    

      

    方法六:

      绝对定位:calc() 函数动态计算实现水平垂直居中

      展示图如下:

      代码如下:

    <!--html-->
    <div class="calc">
        <div class="child">calc</div>
    </div>
    /**css**/
    .calc{
      position: relative;
    border: 1px solid #ccc;
    400px;
    height: 160px; } .calc .child{ position: absolute;
    200px;
    height: 50px; left:-webkit-calc((400px - 200px)/2); top:-webkit-calc((160px - 50px)/2); left:-moz-calc((400px - 200px)/2); top:-moz-calc((160px - 50px)/2); left:calc((400px - 200px)/2); top:calc((160px - 50px)/2); }  
  • 相关阅读:
    centos ppp拨号
    Xen、KVM和VirtualBox比拼
    static用法一
    linux浏览器,邮件客户端,输入法,双屏设置,应用软件,gnome-screenshot/scrot -s截图,office
    OpenGl学习总结
    DICOM医学图像处理:DCMTK在VS2012中的配置
    linux下用mail发送邮件
    (HLS播放器之中的一个)HLS协议之M3U8解析
    tcpdump抓包分析具体解释
    对账简单说
  • 原文地址:https://www.cnblogs.com/a-cat/p/9019184.html
Copyright © 2020-2023  润新知