1、vertical-align的定义
CSS 的 vertical-align 属性使用场景: 经常用于设置图片或者表单(行内块元素)和文字垂直对齐。 官方解释: 用于设置一个元素的垂直对齐方式,但是它只针对于行内元素或者行内块元素有效。
2、vertical-align的语法
vertical-align : baseline | top | middle | bottom
3、效果图&代码
1、默认的情况(默认情况为vertical-align:baseline)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width: 200px;
height: 200px;
}
</style>
</head>
<body>
<img src="./images/迪幻.jpg" alt="">dihuan-g
</body>
</html>
2、图片的底线和文字的底线对齐 vertical-align: bottom
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width: 200px;
height: 200px;
vertical-align: bottom;
}
</style>
</head>
<body>
<img src="./images/迪幻.jpg" alt="">dihuan-g
</body>
</html>
2、图片的底线与文字的基线对齐 vertical-align:baseline
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width: 200px;
height: 200px;
vertical-align: baseline;
}
</style>
</head>
<body>
<img src="./images/迪幻.jpg" alt="">dihuan-g
</body>
</html>
3、图片的中线与文字的中线垂直居中对齐vertical-align:middle
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width: 200px;
height: 200px;
vertical-align: middle;
}
</style>
</head>
<body>
<img src="./images/迪幻.jpg" alt="">dihuan-g
</body>
</html>
4、图片的上端与文字的顶线对齐vertical-align:top
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img {
width: 200px;
height: 200px;
vertical-align: middle;
}
</style>
</head>
<body>
<img src="./images/迪幻.jpg" alt="">dihuan-g
</body>
</html>
4、解决图片底部空隙问题
bug:图片底侧会有一个空白缝隙,原因是行内块元素会和文字的基线对齐。 主要解决方法有两种:
1. 给图片添加 vertical-align:middle | top| bottom 等。 (提倡使用的)
2. 把图片转换为块级元素 display: block;
5、总结:
行内块元素适用vertical-align属性,图片、表单都属于行内块元素,默认的 vertical-align 是基线对齐。
此时可以给图片、表单这些行内块元素的 vertical-align 属性设置为 middle 就可以让文字和图片垂直 居中对齐了。