多行文本垂直居中

多行文本垂直居中

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>背景</title>

    <style>

     /*此处写代码*/

     div{ background-image:url(http://img1.sycdn.imooc.com/climg//58dc9d360001d65806500650.jpg);

        text-align:center;

        height:500px;

        display:table-cell;

        vertical-align:middle;

     }

    </style>

</head>

<body>

    <div>

        《长歌行》

        <br>

        <br>青青园中葵,朝露待日晞。

        <br>阳春布德泽,万物生光辉。

        <br>常恐秋节至,焜黄华叶衰。

        <br>百川东到海,何时复西归。

        <br>少壮不努力,老大徒伤悲。

        <br>

    </div>

</body>

</html>

按照原来视频中的授课,设置了display:table-cell;vertical-align:middle;,但是这样子显示的宽度就变成了原来的一半,希望老师能解释一下这个现象,?去掉display:table-cell;vertical-align:middle,宽度高度都正常,但是,没办法实现多行文本居中的效果了。不知道怎么实现这个效果,希望老师能给点思路


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 慕斯卡4413583 2017-10-31 15:22:00

设置了display:table-cell;vertical-align:middle;,但是这样子显示的宽度就变成了原来的一半,老师能解释一下这个现象吗?实在是不明白,谢谢了,

  • 设置了display:table-cell;就相当于是单元格,单元格是需要父级元素设置display: table;然后有一定的宽度后,继承父级的宽度才能正常显示的,希望可以帮到你~
    2017-10-31 16:12:11
卡布琦诺 2017-10-31 14:29:50

使用display:table-cell;vertical-align:middle;是元素实现居中,首先要给设置父级 display: table;将盒子转换成具有表格属性,然后才能设置子级元素的display:table-cell;vertical-align:middle;

http://img1.sycdn.imooc.com//climg/59f818050001b4b808330828.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师