我正在尝试稍微压缩我的 CSS,但我遇到了这个问题。我正在使用 CSS 背景将一些文本链接换成具有简单滚动效果的图像。这些图像的高度都相同(除了每个 div 中的 1 个,第一个),所以我试图用 2 个 CSS 规则来处理它们,一个用于所有这些,一个用于更大的第一个链接。这是一个例子:
<div id="div1" class="common">
<a id="link0" class="big" href="link"></a>
<a id="link1" href="link"></a>
<a id="link2" href="link"></a>
<a class="class1" href="link"></a>
<a id="link3" href="link"></a>
</div>
<div id="div2" class="common">
...
</div>
等等。我正在使用以下 CSS:
.class1
{
background:url(images/pdf.png);
display:block;
height:38px;
width:39px;
}
.common a:hover
{
background-position:0 -38px;
}
.common a.big:hover
{
background-position:0 -117px;
}
#div1
{
background:url(images/bg1.png);
}
#link0
{
background:url(images/big1.png);
display:block;
height:117px;
width:964px;
}
#link1
{
background:url(images/1_1.png);
display:block;
height:38px;
width:425px;
}
#link2
{
background:url(images/1_2.png);
display:block;
height:38px;
width:425px;
}
#link3
{
background:url(images/1_3.png);
display:block;
height:38px;
width:425px;
}
问题是这似乎没有将background-position
规则应用于具有 ID(#link0、#link1 等)的链接,但它确实选择了一个没有 ID(.class1)的链接。如果我将.common a:hover
选择器更改为#div1 a:hover
if 有效,但我必须为每个 div 设置一个规则,这与我想要做的相反。
我究竟做错了什么?我不能使用 JQuery,它必须是纯 CSS。