美文网首页
css实现div水平垂直居中--2016.08.02

css实现div水平垂直居中--2016.08.02

作者: BaoMax | 来源:发表于2016-08-11 19:21 被阅读0次

    水平居中最简单的就是设置元素margin:0 auto;

    下面介绍4种使div垂直居中的方法:

    1.通过display:table和display:table-cell实现

    html代码:

    <div id="wrap">
        <div id="cell">
            <div id="center">
          </div>
       </div>
    </div>
    

    css代码:

    #wrap{
        display:table;
    }
    #cell{
        display:table-cell;
        vertical-align:middle;
    }
    #center{
        margin:0 auto;
    }
    

    优点:不需给出center的宽和高,且当center的高度超过wrap时center的内容不会被截断。

    2.通过transform:translate(-50%,-50%)实现

    html:代码

    <div id="wrap">
        <div id="center"></div>
    </div>
    

    css代码:

    #wrap{
        position:relative;
    }
    #center{
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
    }
    

    优点:不需要给出center的宽高
    缺点:center的高度超过wrap时center的内容会被截断

    3.利用margin:auto和position:absolite实现

    html:代码

    <div id="wrap">
        <div id="center"></div>
    </div>
    

    css代码:

    #wrap{
        position:relative;
    }
    #center{
        position:absolute;
        width:400px;
        height:400px;
        top:0;
        left:0;
        right:0;
        bottom:0;
        margin:auto;
    }
    

    缺点:需要给出宽高;
    center的高度超过wrap时center的内容会被截断

    4.负margin实现

    html:代码

    <div id="wrap">
        <div id="center"></div>
    </div>
    

    css代码:

    #wrap{
        position:relative;
    }
    #center{
        position:absolute;
        width:400px;
        height:400px;
        top:50%;
        left:50%;
        margin-left:-200px;
        margin-top:-200px;
    }
    

    缺点:需要给出宽高;
    center的高度超过wrap时center的内容会被截断

    相关文章

      网友评论

          本文标题:css实现div水平垂直居中--2016.08.02

          本文链接:https://www.haomeiwen.com/subject/uysssttx.html