CSS菜单图像背景左侧



我有一个菜单,我想在每个菜单里放一个不同的图像:

<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;

最新更新