伪类有多少重量?

时间:2009-06-17 19:17:33

标签: css dotnetnuke

我正在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;}只会被相同的伪类重写,我希望有一种方法可以始终为每个标记定义伪类。

3 个答案:

答案 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毫秒,尽管如果因使用的越多,因为我越来越不肯定。