我在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都会击败selector a {}吗?
编辑:我不想使用!重要,因为我必须在任何地方使用重要,而且我不想在文档中嵌入任何样式。
我的假设是:a:link{text-装饰物:none;}只会被同一个伪类覆盖,我希望有一种方法,就是必须始终为每个标记定义伪类。
发布于 2009-06-17 19:23:32
如果在HTML本身中包含<style>标记中的声明,它将覆盖外部样式表中设置的任何样式。
另一个解决方案是创建第二个CSS文档来覆盖现有的CSS。在包含现有的CSS文件(对于IE6compat)之后,请确保包含此CSS文件。然后,在所有要重写的样式上使用!important标记。
有关更多信息,请参阅W3规范中有关CSS级联的部分。
编辑:回答你的第二个问题。a:hover{}会击败selector a{},但selector a:hover{}会击败a:hover{}。
发布于 2009-06-17 19:31:14
而且,无论选择器有多强,
a:hover {}都会击败选择器a {}吗?
这取决于:在设置冲突属性的情况下,更具体的选择器将获胜;否则,它们将是加性的。(当然,除非你是在和!important一起做事.)
发布于 2009-06-18 02:30:57
我只是测试了加载时间,同时使用:第一子和:最后-子。差别似乎在每个8ms左右(在我的本地机器上),尽管我不肯定这是否是由你使用越多的因素增加的。
https://stackoverflow.com/questions/1009024
复制相似问题