Css 在锚定标记中使用不同的图像(链接、访问等)

Css 在锚定标记中使用不同的图像(链接、访问等),css,Css,我试图为锚定标记的不同状态显示不同的图像,但我无法让它工作。你知道我遗漏了什么吗 这里的图片=>不允许我发布图片,但它是480x30像素 这是CSS a.image { background-repeat:no-repeat; color:white; display:inline-block; width:160px; height:30px; margin-left:-12px; margin-top:16px; padding-top:6px; text-align:center; fon

我试图为锚定标记的不同状态显示不同的图像,但我无法让它工作。你知道我遗漏了什么吗

这里的图片=>不允许我发布图片,但它是480x30像素

这是CSS

a.image {
background-repeat:no-repeat;
color:white;
display:inline-block;
width:160px;
height:30px;
margin-left:-12px;
margin-top:16px;
padding-top:6px;
text-align:center;
font-size:14px;
font-weight:bold;
cursor:pointer;
text-decoration:none;
}

a.image:link {
background-image:url('images/buttons.png');
background-position:0px 320px;
}

a.image:visited {
background-image:url('images/buttons.png');
background-position:0px 0px;
}

a.image:active {
background-image:url('images/buttons.png');
background-position:0px 160px;
}
这里是HTML

<a href='ifp.asp?width=1512&ProjectGroupID=&ProductID=536&model=Addison 536&plan=Lower Level Plan' class='image'>Lower Level Plan</a>


我目前只得到白色文本的“较低级别计划”。谢谢

如果精灵为480 W X 30 H,则应在X轴上更改背景位置时,您正在更改y轴上的背景位置。您还应使用-X尺寸指示精灵需要在负方向(向左)上移动,以便可以这样重写:

a.image:link {
background-position:-320px 0px;
}

a.image:visited {
background-position:0px 0px;
}

a.image:active {
background-position:-160px 0px;
}

请注意,我还删除了此处的背景图像声明,因为您可以简单地将其上移到a.image样式块中。

您所说的“较低级别”是什么意思?
background position
属性定义为
Xpos-Ypos
。你确定你不应该颠倒价值观的顺序吗?我把它改成了你建议的,但我仍然无法让它工作。我添加了另一个具有内嵌样式的行,该按钮确实显示,但没有显示另一个按钮。这是一条可行的路线;重置相对于目录结构中的CSS,图像位于何处?它是否位于CSS所在目录的images子目录中?如果在CSS文件中使用相对URL引用。路径相对于CSS文件的位置。CSS和图像都是程序所在位置的子目录。我把它改成这样,背景图片:url('../images/buttons.png');,但是还是不走运。使用完整的路径引用,比如
url(/path/to/images/buttons.png)
?我把url改成了绝对路径,虽然有些效果,但不太好。我将尝试三种不同的图像。