一、vertical-align的使用
经常用于设置图片或者表单【行内块级元素】和文字垂直对齐
vertical-align属性值
- basesline:默认,元素放置在父元素的基线上
- top:把元素的顶端与行中最高元素的顶部对齐
- middle:把此元素放置在父元素的中部
- bottom:把元素的顶部与行中最低的元素的顶部对齐
二、解决图片底部默认空白缝隙问题
问题引入
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>解决图片底部默认空白缝隙问题</title>
<style type="text/css">
.container{
border: 1px solid yellow;
}
img{
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<div class="container">
<img src="img/图片.jpg"/>
</div>
</body>
</html>
此时,我们可以看到,图片底部与父容器之间有一段空隙。原因:行内块级元素会和文字的基线对齐。
解决方法
(1)给图片添加 vertical-align middle | top | bottom
(2) 把图片转换成块级元素 display:block;
俩者比较,我个人更喜欢前者,因为后者一旦设置成块级元素时,该元素是独占一行,不利于布局。
三、文本垂直方向居中对齐
问题引入
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>vertical-align</title>
<style>
.container{
width: 300px;
height: 200px;
background-color: #f5f5f5;
}
p{
display: inline-block;
font-size: 30px;
}
</style>
</head>
<body>
<div class="container">
<img src="img/车锁.png"/>
<p>车锁</p>
</div>
</body>
</html>
此时,如果我们要实现,文字和图片垂直方向居中时,我们应该使用vertical-align,对图片元素增加属性vertical-align:middle;即可实现。