居中显示(多种)

方式一:display的table和table-cell一般情况下用的不多,所以很少有人去关注它,但他们两个联手起来会给你惊喜!

这里抛出这样一个问题,如下,让块里的多行文字垂直居中?一说到垂直居中就会想到,单行文字垂直居中line-height等于height;块级元素垂直居中,position定位或者flex布局。但这里我介绍display:table和table-cell是如何让多行文字垂直居中的。虽然感觉用的不多,但是在某些时候还是挺管用的,
效果如下图:


具体代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>地图</title>
    <style>
        
.section-table{
    display: table;
    height: 400px;
    background: #f90;
}
.text-center{
 display: table-cell;
 vertical-align: middle;
}
    </style>
</head>
<body>
    <div class="section-table">
        <div class="text-center">
            <h3 style="padding:10px 20px;">科技生活</h3>
            <p style=" margin-bottom: 30px;font-size: 16px;padding:0 20px;line-height: 24px;">DJI 带屏遥控器配备新一代 OcuSync 2.0 高清图传系统,可以适配“御”Mavic 2 等采用 OcuSync 2.0 高清图传系统的飞行器<sup>[1]</sup>。
                拥有 5.8GHz 和 2.4GHz 两个通信频段,系统可以根据环境干扰情况的不同在 2.4GHz 与 5.8GHz 双频段之间自动选频和切换,有效降低环境干扰对飞行操控和图像画质的影响,并带来远达 8 公里<sup>[2]</sup>的图传距离。</p>
        </div>
    </div>
</body>
</html>

方式二:flex实现div内容水平垂直居中

效果如下图:


代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #box{
                display: flex;
                display: -webkit-flex;
                border: 1px solid #0000FF;
                height: 200px;
                width: 400px;
                align-items:center;
                justify-content:center;
            }
            .item{
                width: 50px;
                height: 40px;
                border: 1px solid #00C1B3;
            }
        </style>
    </head>
    <body>
        <div id="box">
            <div class="item">1</div>
            <div class="item">2</div>
            <div class="item">3</div>
            <div class="item">4</div>
            <div class="item">5</div>
        </div>
    </body>
</html>

方式三:css3内容水平垂直居中transform: translate(-50%,-50%)

效果如下图:

代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        .border_box{
          position: relative;
          width:500px;
          height: 300px;
          margin:10px;
          border: 1px solid #00C1B3;
        }
            #box{
               position: absolute;
               left:50%;
               top:50%;
               transform: translate(-50%,-50%);
               width:;
            }
            .item{
                width: 50px;
                height: 40px;
                border: 1px solid #00C1B3;
            }
        </style>
    </head>
    <body>
       <div class="border_box">
          <div id="box">
            <div class="item">1</div>
            <div class="item">2</div>
            <div class="item">3</div>
            <div class="item">4</div>
            <div class="item">5</div>
        </div>
       </div>
    </body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容