我试图将链接与背景图片居中,但我发现它在顶部对齐,并且每个背景图片的尺寸都不同,即使我指定了尺寸也是如此。
http://i.imgur.com/V5wNj0q.png
HTML
<section>
<h3>Contact</h3>
<ul id="contact">
<li class="phone"><a href="tel:111-111-1111">111-111-1111</a></li>
<li class="mail"><a href="mailto:mail@mail.com">mail@mail.com</a></li>
</ul>
</section>
CSS
#contact {
list-style: none;
padding: 0;
margin: 0;
}
#contact a {
display: block;
min-height: 30px;
background-repeat: no-repeat;
background-size: 30px 30px;
margin: 0 0 0 15px;
padding: 0 30px 0 30px;
}
.phone a {
background-image: url("../img/phone.jpg");
}
.mail a {
background-image:url("../img/mail.jpg");
}
最佳答案
您可以通过下面的代码片段解决这个问题,但您也可以通过 :after
元素来解决这个问题。
.phone:after {
background-image: url('http://imgur.com/dU2eTo1.png');
content: '';
display: block;
width: 30px;
height: 30px;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
代码片段
#contact {
list-style: none;
padding: 0;
margin: 0;
}
#contact a {
display: block;
min-height: 30px;
background-repeat: no-repeat;
background-size: 30px 30px;
margin: 0 0 0 15px;
padding: 0 30px 0 40px; /* Altered */
line-height: 30px; /* Added */
background-position: left center; /* Added */
}
.phone a {
background-image: url("http://imgur.com/dU2eTo1.png");
}
.mail a {
background-image:url("http://imgur.com/dU2eTo1.png");
}
<section>
<h3>Contact</h3>
<ul id="contact">
<li class="phone"><a href="tel:111-111-1111">111-111-1111</a></li>
<li class="mail"><a href="mailto:mail@mail.com">mail@mail.com</a></li>
</ul>
</section>
关于css - 以背景图片为中心的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35997231/