美文网首页
水平垂直居中的方法

水平垂直居中的方法

作者: 李丹linda | 来源:发表于2018-11-12 19:34 被阅读0次

    方案一:绝对定位——上下左右为0,margin为auto

    • 父元素position设为relative,子元素position设为absolute,子元素margin设为auto,left,top,right,bottom设为0
        <style type="text/css">
            .wrap{
                width: 200px;
                height: 200px;
                border: 1px #000 solid;
                
                position: relative;
            }
            .box{
                width: 50px;
                height: 50px;
                border: 1px solid red;
    
                position: absolute;
                left: 0;
                top: 0;
                right: 0;
                bottom: 0;
                margin: auto;
            }
        </style>
    
        <div class="wrap">
            <div class="box">哈哈</div>
        </div>
    

    方案二:绝对定位——margin为负一半

    • 父元素position设为relative,子元素position设为absolute,子元素left,top设为50%,margin-left,margin-top设为负子元素的一半
            .box{
                width: 50px;
                height: 50px;
                border: 1px solid red;
    
                position: absolute;
                left: 50%;
                top: 50%;
                margin-left: -25px;
                margin-top: -25px;
            }
    

    方案三:绝对定位——transform变形

    • 父元素position设为relative,子元素position设为absolute,子元素left,top设为50%,transform的translate设为-50%
            .box{
                width: 50px;
                height: 50px;
                border: 1px solid red;
    
                position: absolute;
                left: 50%;
                top: 50%;
                transform: translate(-50%,-50%);
            }
    

    方案四:弹性盒模型

    • 父元素的display设为flex,justify-content和align-items设为center
            .wrap{
                width: 200px;
                height: 200px;
                border: 1px #000 solid;
                
                display: flex;
                justify-content: center;
                align-items:center;
            }
    

    方案五:table-cell

    • 父元素display设为table-cell,vertical-align设为middle,text-align设为center,子元素display设为inline-block,vertical-align设为middle
            .wrap{
                width: 200px;
                height: 200px;
                border: 1px #000 solid;
    
                display: table-cell;
                vertical-align: middle;
                text-align: center;
            }
            .box{
                width: 50px;
                height: 50px;
                border: 1px solid red;
    
                display: inline-block;
                vertical-align: middle;
            }
    

    方案六:仅适用于单行文本

    • 父元素text-align设为center,line-height设为父元素的高度。
            .wrap{
                width: 200px;
                height: 200px;
                border: 1px #000 solid;
    
                text-align: center;
                line-height: 200px;
            }
    
        <div class="wrap">
            <div class="box">哈哈</div>
        </div>
    

    相关文章

      网友评论

          本文标题:水平垂直居中的方法

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