多行文字垂直居中的方法

方法一:父元素使用display:table和子元素使用display:table-cell属性来模拟表格,子元素设置vertical-align:middle和text-align:center即可垂直居中。

.div1{
    height:300px;
    width: 300px;
    background-color: cadetblue;
    display: table;
}
.span1{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
<div class="div1">
    <span class="span1">
        方法一:父元素使用display:table和子元素使用display:table-cell属性来模拟表格,子元素设置vertical-align:middle即可垂直居中
    </span>
</div>

方法二:对子元素设置display:inline-block属性,使其转化成行内块元素,模拟成单行文本。父元素设置对应的height和line-height。对子元素设置vertical-align:middle属性,使其基线对齐。添加line-height属性,覆盖继承自父元素的行高。缺点:文本的高度不能超过外部盒子的高度。

.div1{
    height:300px;
    width: 300px;
    background-color: cadetblue;
    line-height: 300px;
}
.span1{
    display: inline-block;
    line-height: 20px;
    text-align: center;
    vertical-align: middle;
}
<div class="div1">
    <span class="span1">
    方法二:对子元素设置display:inline-block属性,使其转化成行内块元素,模拟成单行文本。父元素设置对应的height和line-height。对子元素设置vertical-align:middle属性,使其基线对齐。添加line-height属性,覆盖继承自父元素的行高。缺点:文本的高度不能超过外部盒子的高度。
    </span>
</div>

方法三:脱离文档流的居中方式,使用定位,为父盒子设置宽高,使用相对定位,子盒子使用绝对定位,先向右向下偏移50%,再通过transform偏移自身宽度和长度的一半达到居中

          .div1{
              height:300px;
              width: 300px;
              background-color: cadetblue;
              position: relative;
          }
          .div2
          {
              width: 240px;
              position: absolute;
              top:50%;
              left:50%;
              transform: translate(-50%,-50%);
          }
<div class="div1">
    <div class="div2">
        方法三:脱离文档流的居中方式,使用定位,为父盒子设置宽高,使用相对定位,子盒子使用绝对定位,先向右向下偏移50%,再通过transform偏移自身宽度和长度的一半达到居中
    </div>
</div>
前端问题总结 文章被收录于专栏

总结一些前端常见的面试笔试题,来和大家分享鸭

全部评论

相关推荐

点赞 评论 收藏
分享
一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务