请老师检查一下代码,然后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。这个行高太小了,所以文字跑到了顶部。本题中行高设置固定宽度就行,代码实现正确。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 40143 问题

查看课程