18 css
请考虑以下风格:
a:link { color: blue }
a:visited { color: red }
a:hover { color: green }
a:active { color: black }
#special:link { color: pink }
Run Code Online (Sandbox Code Playgroud)
现在这个加价:
<a href="#">Normal link</a>
<a href="#" id="special">Special link</a>
Run Code Online (Sandbox Code Playgroud)
我希望"特殊"链接是粉红色的,同时保持其他颜色.但是,粉红色取代了其他颜色.
为什么会这样?我该怎么办呢?谢谢.
我认为它与CSS 优先顺序有关.
因为它#special是一个ID,它使得应用的任何元素级样式相形见绌.(这可以在Firefox Firebug/Chrome Inspector中证明,以及继承的样式表如何被ID的样式覆盖).
虽然,考虑到没有"现在的风格"申请:活跃,:访问等.这将是理所当然的这些风格仍然不受影响.然而,对你的悬停进行以下更改似乎会重新开始:
a:hover { color: green !important; }
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
:link伪类的样式适用于所有链接状态,因此它包括:hover,:visited和:active
这是我几年前开始使用CSS时所观察到的.我不知道它是否应该起作用,但它是我看到它如何工作并期望它工作的方式.
所以当你设置一个样式时#special:link,该样式也适用于#special:hover,#special:visited和#special:active
请注意,ID的使用在这里没有太大变化.
如果你使用下面的CSS尝试它,你将有两个链接粉红色......即使是:hover状态
a:link { color: blue }
a:visited { color: red }
a:hover { color: green }
a:active { color: black }
a:link { color: pink }
Run Code Online (Sandbox Code Playgroud)
我该怎么办呢?
您可以!important按照Brad的建议使用,也可以将#special的各种状态样式与常规链接一起设置.
a:link { color: blue }
#special:link { color: pink }
a:visited, #special:visited { color: red }
a:hover, #special:hover { color: green }
a:active, #special:active { color: black }
Run Code Online (Sandbox Code Playgroud)
它的加剧......和订单在这里很重要:
a:hover{
color:green;
}
a:visited{
color:red;
}
Run Code Online (Sandbox Code Playgroud)
这意味着当您将鼠标悬停在它们上方时,未访问的链接将变为绿色,并且当您将鼠标悬停在它们上时,访问过的链接将保持红色.
开关:
a:visited{
color:red;
}
a:hover{
color:green;
}
Run Code Online (Sandbox Code Playgroud)
这意味着当您将鼠标悬停在其上时,访问过的链接和未访问的链接都将变为绿色.我讨厌这些属性的顺序改变行为; 悬停风格应该生效.
a:link{
color:blue;
}
a.one:hover{
color:green;
}
a.one:visited{
color:red;
}
a.two:visited{
color:red;
}
a.two:hover{
color:green;
}Run Code Online (Sandbox Code Playgroud)
<a href=#ddd class=one>One (wont change color on hover when visited)</a> |
<a href=#ddd class=two>Two (always turns green on hover)</a>Run Code Online (Sandbox Code Playgroud)
这是另一种快速解决方法:
您可以使用:not(:hover)。
#special:link:not(:hover) { color: pink }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26180 次 |
| 最近记录: |