CSS控制图片和文字在同一行显示且对齐的3种方法
在HTML代码中,我们有时候需要在图片后面加上简单的文字进行说明,但默认情况下,图片置顶对齐,文字置底对齐,所以通常图片高,文字低,不能水平居中对齐。
要想解决这个问题,常见方法有3种:
1、通过添加css的 vertical-align:middle;
2、如果图片是背景图片,可以在css中设置背景图片;
3、把文字和图片分别放入不同的div中。
上面三种方法都可以让图片和文字在同一行显示,下面我们用登录这个实例来应用一下。
默认情况下如下图:
1、添加上“vertical-align:middle”属性
<body>
<img src="img/login.png" style="vertical-align: middle;"/>
<a href="#">找回密码</a>
</body>
2、如果图片本身是一个背景图片的话,可以在css中使用“background”来设置该图片
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
a{
color: #000;
text-decoration: none;
margin-left: 120px;
}
.login{
width: 200px;
height: 40px;
line-height: 40px;
/*定位*/
background-image: url(img/login.png);
background-repeat: no-repeat;
background-position: left center;
}
</style>
</head>
<body>
<div class="login">
<a href="#">找回密码</a>
</div>
</body>
</html>
3、分别把图片和文字放入不同的div中
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.login,.info{
display: inline-block;
vertical-align: middle;
}
a{
color: #000;
text-decoration: none;
}
</style>
</head>
<body>
<div class="login"><img src="img/login.png"/></div>
<div class="info">找回密码</div>
</body>
</html>
这三种方法都能得到下图的结果: