CSS(层叠样式表)是一种用于描述HTML或XML(包括SVG、MathML等各种XML方言)文档样式的样式表语言。垂直居中是指将元素在容器内垂直方向上居中对齐。
line-height
属性。display: flex
和 align-items: center
。display: grid
和 align-content: center
。display: flex
和 align-items: center
。vertical-align: middle
结合 display: inline-block
。position: absolute
和 transform
。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vertical Centering</title>
<style>
.container {
height: 200px;
border: 1px solid black;
line-height: 200px; /* 单行文本垂直居中 */
}
</style>
</head>
<body>
<div class="container">
Centered Text
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vertical Centering</title>
<style>
.container {
height: 200px;
border: 1px solid black;
display: flex;
align-items: center; /* 多行文本垂直居中 */
justify-content: center;
}
</style>
</head>
<body>
<div class="container">
<p>This is a paragraph with multiple lines of text that are vertically centered.</p>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vertical Centering</title>
<style>
.container {
height: 200px;
border: 1px solid black;
display: flex;
align-items: center; /* 图片垂直居中 */
justify-content: center;
}
</style>
</head>
<body>
<div class="container">
<img src="https://via.placeholder.com/150" alt="Centered Image">
</div>
</body>
</html>
line-height
无法实现多行文本垂直居中?原因:line-height
只能用于单行文本的垂直居中,对于多行文本,它会使每一行的行高都增加,但不会使整个段落居中。
解决方法:使用 display: flex
和 align-items: center
或者 display: grid
和 align-content: center
来实现多行文本的垂直居中。
原因:可能是由于图片的默认 display
属性是 inline-block
,导致 vertical-align: middle
无法生效。
解决方法:使用 display: flex
和 align-items: center
来确保图片垂直居中。
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云