我有css和html,如下所示。这里的文字和图片不在同一行。我希望两者都在同一条线上并垂直居中。
.online:before {
content: url(http://www.dreamaion.com/img_icons/on.png);
}
.butt {
margin: 0 auto;
text-align: center;
cursor: pointer;
display: inline-block;
background: #0d92d9;
color: #ffffff;
font-size: 22px;
padding: 13px;
text-decoration: none;
margin: 22px 0px 22px 0px;
}

<div class="online butt">Download</div>
<br>
&#13;
答案 0 :(得分:2)
将以下设置添加到之前的伪元素:
vertical-align: middle;
display: inline-block;
.online::before {
content: url(http://www.dreamaion.com/img_icons/on.png);
vertical-align: middle;
display: inline-block;
}
.butt {
margin: 0 auto;
text-align: center;
cursor: pointer;
display: inline-block;
background: #0d92d9;
color: #ffffff;
font-size: 22px;
padding: 13px;
text-decoration: none;
margin: 22px 0px 22px 0px;
}
&#13;
<div class="online butt">Download</div>
<br>
&#13;
答案 1 :(得分:1)
有两种方式。请将任何一种样式添加到.online::before
。我更喜欢第一个。
vertical-align: middle;
display: inline-block;
或者
vertical-align: -30%;