我有一个菜单,我想在每个菜单里放一个不同的图像:
<ul id="menu">
<li class="home">
<a href="$urlsite/home">home</a>
</li>
<li class="sells">
<a href="$urlsite/sells">Sells</a>
</li>
<li class="message">
<a href="$urlsite/message">Message</a>
</li>
</ul>
css #menu {
position:relative;
width: 100%;
padding: 0;
margin-top:0px;
box-sizing: border-box;
font-weight:bold;
}
#menu li {
list-style: none;
text-align:left;
padding-left:20px;
height:40px;
line-height:40px;
vertical-align: middle;
border-bottom:0px;
}
#menu li a {
margin:0;
text-decoration:none;
width:100%;
height:100%;
display: inline-block;
}
.home{
background-image: url('http://infinitilinens.herokuapp.com/assets/icons/home_blue.png');
background-size:20px;
background-repeat: no-repeat;
padding-left: 30px;
display: block;
}
我的问题是,HOME图标(和所有其他图标)不在文本链接的前面。如何将图像与链接对齐?http://jsfiddle.net/954baet0/
可以使用background-position
第一个值是水平位置,第二个值是垂直
#menu li {
list-style: none;
text-align:left;
padding-left:20px;
height:40px;
line-height:40px;
vertical-align: middle;
border-bottom:0px;
background-position: 2px center;
}
jsfiddle
如果你想使用背景图像作为徽标(注意它是不可点击的),你可以使用background-position属性。
敬礼
您只需将这行代码添加到。home:
background-position: 0px 11px;