因此,由于您希望在整个菜单中使用一个图像,因此您必须尽最大努力“调整”每个小图像块的大小。
您可以定义一个共享的sprite css类,以及每个单独的css项,然后在对应项上定义鼠标,尽最大努力使您的sprite大小大致相同,因为目前它们似乎不是:)
一种更简单的方法是将菜单保持为文本,并只需交换背景,如示例片段中的下部菜单所示
.menu-sprite {
background-image: url('http://i.imgur.com/PeXVdXx.png');
background-repeat: no-repeat;
background-position: top left;
}
.menu-block {
display: block;
width: 70px;
height: 30px;
}
.menu1 {
background-position: -84px -91px;
}
.menu1:hover {
background-position: -84px -164px;
}
.menu2 {
background-position: -154px -91px;
}
.menu2:hover {
background-position: -154px -164px;
}
.menu3 {
background-position: -224px -91px;
}
.menu3:hover {
background-position: -224px -164px;
}
.menu4 {
background-position: -294px -91px;
}
.menu4:hover {
background-position: -294px -164px;
}
.menu5 {
background-position: -364px -91px;
}
.menu5:hover {
background-position: -364px -164px;
}
.menu6 {
background-position: -434px -91px;
}
.menu6:hover {
background-position: -434px -164px;
}
.menu7 {
background-position: -504px -91px;
}
.menu7:hover {
background-position: -504px -164px;
}
.menu8 {
background-position: -574px -91px;
}
.menu8:hover {
background-position: -574px -164px;
}
.menu9 {
background-position: -644px -91px;
}
.menu9:hover {
background-position: -644px -164px;
}
.menu {
list-style-type: none;
display: inline-block;
}
.menu li {
float: left;
}
.menu li a {
display: block;
position: absolute;
width: 70px;
height: 30px;
text-align: center;
vertical-align: middle;
text-decoration: none;
padding-top: 5px;
}
.menu-item {
background-image: linear-gradient(to bottom, #efefef 0%, #efefef 75%, #dfdfdf 100%);
}
.menu-item:hover {
background-image: linear-gradient(to bottom, #ddefef 0%, #ccefef 75%, #ccdfdf 100%);
}
<ul class="menu">
<li class="menu-sprite menu-block menu1"><a href="#" />
</li>
<li class="menu-sprite menu-block menu2"><a href="#" />
</li>
<li class="menu-sprite menu-block menu3"><a href="#" />
</li>
<li class="menu-sprite menu-block menu4"><a href="#" />
</li>
<li class="menu-sprite menu-block menu5"><a href="#" />
</li>
<li class="menu-sprite menu-block menu6"><a href="#" />
</li>
<li class="menu-sprite menu-block menu7"><a href="#" />
</li>
<li class="menu-sprite menu-block menu8"><a href="#" />
</li>
<li class="menu-sprite menu-block menu9"><a href="#" />
</li>
</ul>
<ul class="menu">
<li class="menu-item menu-block"><a href="#">Item 1</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 2</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 3</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 4</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 5</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 6</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 7</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 8</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 9</a>
</li>
<li class="menu-item menu-block"><a href="#">Item 10</a>
</li>
</ul>