在http://www.smashingmagazine.com/2009/08/17/taming-advanced-css-selectors/
的帖子中在定义“特异性”规则的背景下陈述:
例如,如果要更改 所有div的背景颜色 作为博客帖子的元素, 您可以使用属性选择器 针对每个班级的div 属性以“post - ”开头:
div[class*="post"] { background-color: #333; }
这将匹配其class属性在任何位置包含单词“posts”的所有div元素。
...
我的问题是扩展上面的例子:
** ...更改博客上帖子的所有div元素的背景颜色,除非帖子由anon用户看起来像...... **
[whatzitlooklike?]
THX
答案 0 :(得分:2)
首先,这不是在CSS中选择具有特定类的元素的正确方法。这就是.
的用途:
div.post {
background-color: #333;
}
我只是简单地浏览了一下这篇文章,但我不知道它为什么会推荐其他语法。除了它需要更多的打字之外,它在Internet Explorer 6中不起作用,并且它将完全混淆任何有经验的CSS作者。
至于您的实际问题,匿名用户如何设置帖子样式完全取决于他们如何标记。例如,如果这样的帖子在您的HTML中显示如下:
<div class="post anonymous">...</div>
然后你可以简单地添加另一个样式规则:
div.anonymous {
background-color: purple;
}
重要的问题是:这些样式规则在样式表中出现的顺序是什么?如果.anonymous
出现在最后,那么它将优先应用于任何地方。因此,即使.post
和.anonymous
规则都适用于<div>
,.anonymous
颜色也会优先,因为它会在以后出现。 (当然,如果你把这些规则放在另一个顺序中,反之亦然。)