我正在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;
}
此外,无论a:hover {}
有多强大,selector a {}
总是会selector
熄灭吗?
编辑: 我不想使用!重要,因为我必须在任何地方使用重要的,我不想在文档中嵌入任何样式。
我的假设是:链接{text-decoration:none;}只会被相同的伪类重写,我希望有一种方法可以始终为每个标记定义伪类。
答案 0 :(得分:2)
如果在HTML本身的<style>
标记内包含声明,它将覆盖外部样式表中设置的任何样式。
另一个解决方案是创建第二个CSS文档来覆盖现有的CSS。确保在之后包含此CSS文件包含现有的CSS文件(对于IE 6 compat)。然后在要覆盖的所有样式上使用!important
标记。
有关更多信息,请参阅有关CSS cascading的W3规范部分。
修改:回答第二个问题。 a:hover{}
会超过selector a{}
,但selector a:hover{}
会击败a:hover{}
。
答案 1 :(得分:0)
此外,无论选择器有多强,
a:hover {}
总是会超越选择器a {}
吗?
这取决于:在设置冲突属性的情况下,更具体的选择器将获胜;否则,它们将是添加剂。 (当然,除非您正在使用!important
...)
答案 2 :(得分:0)
我在使用时测试了加载时间:first-child和:last-child。每个(在我的本地机器上)的差异似乎是大约8毫秒,尽管如果因使用的越多,因为我越来越不肯定。