
多行文本垂直水平居中难题:display: inline-block与vertical-align: middle的妙用
理论上,display: inline-block 和 vertical-align: middle 组合可以轻松实现多行文本的垂直水平居中。然而,实际应用中,常常出现效果不佳的情况。
问题根源:HTML结构缺失
问题的关键在于HTML文档结构的完整性。缺少必要的DOCTYPE声明、 和 标签,会导致浏览器无法正确解析CSS,从而导致居中失效。
解决方案:完善HTML结构
只需补全HTML结构即可解决问题。完整的代码如下:
<code class="html"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.parent {
height: 100px;
background-color: aqua;
text-align: center; /*水平居中*/
line-height: 100px; /* 通过 line-height 设置幽灵节点的基线 */
}
.child {
color: #fff;
background-color: blueviolet;
vertical-align: middle;
line-height: normal; /* 块级元素时需要加 */
display: inline-block; /* 关键:将 line-height 设置为 normal */
}
</style>
</head>
<body>
<div class="parent">
<div class="child">
测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例测试示例
</div>
</div>
</body>
</html></code>
通过补全HTML结构并正确设置CSS样式,即可完美解决多行文本垂直水平居中问题。










