美文网首页
多行位置垂直居中

多行位置垂直居中

作者: 牛妈代代 | 来源:发表于2019-11-21 10:52 被阅读0次

    方法1:父级元素不定高,设置父及元素display:table;子元素设置display:table-cell;vertical-align:center。
    方法2:父级元素定高,设置子元素为display:inline-block;vertical-align:center;模拟单行元素的垂直居中。
    方法3:flex布局,有兼容性,ie9一下不支持

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            .bg_box {
                width: 300px;
                height: 300px;
                margin-top: 20px;
                background-color: #BBBBBB;
                border-radius: 100%;
            }
    
            /*方法一*/
            .span_box {
                display: table;
            }
    
            .words_span {
                display: table-cell;
                vertical-align: middle;
            }
    
            .bg_box {
                width: 300px;
                height: 300px;
                margin-top: 20px;
                background-color: #BBBBBB;
            }
    
            /*方法二*/
            .p_box {
                line-height: 300px;
            }
    
            .words_p {
                display: inline-block;
                line-height: 20px;
                /*单独给子元素设置行高,覆盖父级元素的行高*/
                vertical-align: middle;
                /*基线居中对齐*/
            }
            /*方法三*/
            .box{display:flex;display:-ms-flexbox;width:200px;height:200px;border:1px dotted #ccc;justify-content:center;align-items:center;}
            .box span{display:inline-block;width:100%;padding:5px;}
        </style>
    </head>
    
    <body>
        <div class="span_box bg_box">
            <span class="words_span">
                方法一:高度不固定,父元素使用display:table和子元素使用display:table-cell属性来模拟表格,子元素设置vertical-align:middle即可垂直居中
            </span>
        </div>
    
        <div class="p_box bg_box">
            <p class="words_p">
                方法二:高度固定,对子元素设置display:inline-block属性,使其转化成行内块元素,模拟成单行文本。父元素设置对应的height和line-height。对子元素设置vertical-align:middle属性,使其基线对齐。添加line-height属性,覆盖继承自父元素的行高。缺点:文本的高度不能超过外部盒子的高度。
            </p>
        </div>
    
        <div class="box">
                <span>方法三:使用flex布局实现多行文字垂直居中,不兼容ie9及一下浏览器</span>
        </div>
    
    
    </body>
    
    </html>
    

    相关文章

      网友评论

          本文标题:多行位置垂直居中

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