行高设置成了和元素高度一样不能垂直居中?
来源:4-3 编程练习
localhost999
2020-06-26 11:44:02
问题:行高设置成了和元素高度一样50px,为什么英文部分(Cascading Style Sheets)还不能垂直居中啊? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文本样式</title> <style type="text/css"> div{ /*display:table;*/ width:100%; } p{ /*display:table-cell;*/ text-align:center; height:50px; } .english{ line-height:50px; /*vertical-align:middle;*/ } </style> </head> <body> <div> <p> <img src="http://climg.mukewang.com/59c21bae000157fa01000059.jpg" alt="css3"> <span class="chinese">CSS层叠样式表</span> <span class="english">(Cascading Style Sheets)</span> </p> </div> </body> </html>
2回答
同学你好,你是想实现图片与文字都垂直居中吧,比如下面这样的效果:
如果是这样的话,需要如下设置:
之前的答案,只是给你讲了为什么“英文部分”(单独这部分)文字没有垂直居中。
同学可以再试一下。
祝学习愉快!
好帮手慕久久
2020-06-27
同学你好,由于英文所在的标签是span,而span标签是行内元素,所以它的实际高度会由内容撑开,并不会继承父元素p标签的“height:50px;”,如下:
因此设置行高后,没有垂直居中。可做如下修改:
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
相似问题