我希望在页面加载时对某些链接按钮应用CSS,但其中一个 <a id="lb1">logoff</a>
必须保持其样式,无论是否悬停或其他事件都不能改变其样式。
这些链接按钮没有类,并且应用于它们所有的CSS是通过标签完成的,如下所示:
a
{
//style
}
a:hover
{
// style
}
有可能吗?
我希望在页面加载时对某些链接按钮应用CSS,但其中一个 <a id="lb1">logoff</a>
必须保持其样式,无论是否悬停或其他事件都不能改变其样式。
这些链接按钮没有类,并且应用于它们所有的CSS是通过标签完成的,如下所示:
a
{
//style
}
a:hover
{
// style
}
有可能吗?
不可以。
您可以使用更具体的选择器(甚至是带有style属性的行内CSS),以便它们不太可能被意外覆盖。
您可以使用!important
的方式,确保它们只会被另一个!important
规则覆盖(哎呀)。
但是无法防止它们被覆盖。
!important
。使用它会带来许多烦人的问题和难题,我认为这是一种非常懒惰的做法。您应该将一个类附加到您不想被覆盖的链接上。类比普通选择器(如a
、p
、b
)具有更高的优先级。因此,如果您将此类附加到链接上,CSS将覆盖您设置的默认CSS。CSS:a {
color: red;
}
a:hover {
color: blue;
}
.derp:hover { /*you can add everything you want to preserve here, essentially make it the same as the link css. you can also change it to #lbl:hover, although there's no good reason to be using an ID as a CSS selector*/
color: red;
}
HTML:
<a href="#">this will turn blue on hover</a>
<a class="derp" href="#">this will stay red on hover</a>
这里有一个演示页面,第二个链接添加了一个类来保留原始样式:http://jsfiddle.net/p6QWq/
$(".myClass").css("backgound-color", "blue");
myClass
的元素,这将更改它们的背景颜色为蓝色。或者您可以为具有类名myClass
的链接按钮添加一个全新的类:
$(".myClass").addClass("myExtraClass");
class
属性变为 class="myclass myExtraClass"
。看到您发布的代码后,您想要做什么就更加清晰了。请尝试以下操作:
a {
text-decoration: none;
color: orange;
}
a:hover {
text-decoration: underline;
color: blue;
}
<a>
元素应用一个默认样式。现在,你可以通过为具有上面提到的id的锚点提供特定的样式来覆盖此默认样式:#lb1 {
color: black;
text-decoration: none;
}
#lb1:hover {
color: black;
text-decoration: none;
}
CSS按照级联的定义进行样式设置,因此您应用于a标签的任何样式都将应用于特定的标签,除非您对其进行了覆盖。
您必须为所有其他按钮分配一个类,或者覆盖此特定按钮的所有默认属性。
另外,请不要忘记伪类:visited和:active。
在你的 CSS 中应该使用 !important
,例如:
a {
/* style */
background: #FFF !important;
}
a:hover {
/* style */
background: #FFF !important;
}
<head>
<link rel="stylesheet" href="location/location/first_stylesheet.css">
<link rel="stylesheet" href="location/location/revised_stylesheet.css">
</head>
!important
。不确定这样做是否有效。 - War10ck!important
。 - Morpheus