请老师检查一下代码,然后warp1里line-height为什么设置1em和100%不是居中?
来源:3-12 编程练习
慕工程4578074
2020-01-04 01:00:18
warp1里line-height为什么设置1em和100%不是居中,而是在界面顶部? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>vertical-align</title> <style type="text/css"> *{padding:0px;margin: 0px;} .warp1{ height:80px; width: 100%; background-color: #14191e; /*在此补充代码*/ text-align:center; line-height:80px; } .warp1 h1{ color:#fff; /*在此补充代码*/ font-size:24px; } .warp2{ height:400px; width: 100%; border:1px #14191e solid; /*在此补充代码*/ display:table; } .content{ /*在此补充代码*/ vertical-align:middle; display:table-cell; } .content p{ width:500px; font-family: "微软雅黑"; margin:0 auto; /*在此补充代码*/ line-height:1.5em; font-size:14px; } </style> </head> <body> <div class="warp1"> <h1>欢迎来到慕课网</h1> </div> <div class="warp2"> <div class="content"> <p>慕课网,只学有用的!</p> <p>慕课网(IMOOC)是IT技能学习平台。慕课网(IMOOC)提供了丰富的移动端开发、php开发、web前端、android开发以及html5等视频教程资源公开课。并且富有交互性及趣味性,你还可以和朋友一起编程。</p> </div> </div> </body> </html>
1回答
好帮手慕夭夭
2020-01-04
同学你好,em和%设置行高,是根据父元素的字体计算的。warp1的父元素是body,body默认字体是16px 。所以line-height: 100%;和line-height: 1em;计算出的行高都是16px。这个行高太小了,所以文字跑到了顶部。本题中行高设置固定宽度就行,代码实现正确。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题