我正在尝试使用CSS sprites创建一个垂直导航菜单。我想在其中添加一个悬停效果,其中菜单选项滑出一点。
a:link {
background: url(images/nav.png);
background-position: -100px 0px;
width: 150px;
}
a:hover {
background: url(images/nav.png);
background-position: -100px 0px;
width: 160px;
}
所以我对a:link和a:hover使用相同的精灵图像。我只是增加宽度,例如:悬停以创建弹出效果。
考虑这个比喻。如果我的标签都在x = 0处对齐,那么这就是我目前的情景。
a:link tab start: x=-100 tab end: x=0 // this is how all links are arranged
a:hover tab start: x=-110 tab end: x=0 // this is how I want them on hover
a:hover tab start: x=-100 tab end: x=10 // this is how its panning out
这是我完整的css代码:
#navmenu {
left: 100px;
margin: 0;
padding: 0;
position: absolute;
top: 150px;
width: 150px;
z-index: 99;
}
#navmenu ul {
list-style-type: none;
margin: 0px;
padding: 0px;
}
#navmenu ul li {
line-height: 1.5em;
padding: 0px;
}
#navimenu ul li a {
color: black;
display: block;
font-weight: bold;
height: 26px;
padding: 0px 15px 0px 0px;
text-align: right;
width: 150px;
}
#navmenu a:link, #navmenu a:visited {
background: url(images/nav.png) no-repeat;
background-position: -150px 0px;
width: 150px;
}
#navmenu a:hover {
background: url(images/nav.png) no-repeat;
background-position: -150px 0px;
width: 160px;
}
有人可以帮助我吗?
由于
答案 0 :(得分:1)
好吧,如果你想向上或向下移动它,那么你应该改变y位置(即第二个),如果你想让它向左或向右滑动,你应该改变x位置: / p>
background-position: x y;
因此,如果我理解正确,您希望将背景图像保持在左侧,即使您将鼠标悬停在链接上也是如此:
#navmenu a:hover {
background: url(images/nav.png) no-repeat -160px 0;
width: 160px;
}
这是你想要的吗?
不过,你的问题有点含糊不清。你说的是图像的大小是“向右增加”(我不知道你的意思,但它与x轴有关),然后你开始谈论“基础”和“头部” (y轴)