我在 DNN 环境中工作,其中每个站点加载的默认样式表都为伪类设置样式。我可以编辑默认样式表,但由于这是现有的并且包含所有升级,我宁愿不理会它并在皮肤级别覆盖它们的样式。
有谁知道让所有这些伪类再次开始监听独立元素的解决方案吗?
A:link
{
text-decoration: none;
color: #003366;
}
A:visited
{
text-decoration: none;
color: #003366;
}
A:hover
{
text-decoration: underline;
color: #ff0000;
}
A:active
{
text-decoration: none;
color: #003366;
}
此外,无论 selector
有多强大,a:hover {}
是否总能击败 selector a{}
?
编辑: 我不想使用 !important,因为我必须在任何地方都使用 important,而且我不想在文档中嵌入任何样式。
我的假设是 a:link{text-decoration:none;} 只会被相同的伪类覆盖,我希望有一种方法可以解决必须始终为每个 a 标签定义伪类的问题。
最佳答案
如果您在 <style>
中包含声明HTML 本身中的标记将覆盖外部样式表中设置的所有样式。
另一种解决方案是创建第二个 CSS 文档来覆盖现有的 CSS。确保在包含现有 CSS 文件(用于 IE 6 兼容)之后包含此 CSS 文件。然后使用 !important
标记您要覆盖的所有样式。
有关更多信息,请参阅 W3 规范中关于 CSS cascading 的部分.
编辑:回答您的第二个问题。 a:hover{}
会打败selector a{}
,但是selector a:hover{}
会打败a:hover{}
.
关于css - 伪类有多少权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009024/