0

http://www.smashingmagazine.com/2009/08/17/taming-advanced-css-selectors/的帖子中

在定义“特异性”规则的情况下,说明:

例如,如果你想改变博客上所有 div 元素的背景颜色,你可以使用一个属性选择器来定位每个类属性以“post-”开头的 div:

div[class*="post"] {
  background-color: #333;
  }

这将匹配其类属性在任何位置包含单词“posts”的所有 div 元素。

...

我的问题是扩展上面的例子:

** ...更改博客上所有 div 元素的背景颜色,但匿名用户的帖子除外... **

[看起来像什么?]

谢谢

4

1 回答 1

2

首先,这不是在 CSS 中选择具有特定类的元素的正确方法。这就是它的.用途:

div.post {
  background-color: #333;
}

我只是简要地浏览了那篇文章,但我不知道为什么它会推荐其他语法。除了它需要更多的输入之外,它在 Internet Explorer 6 中不起作用,并且会使任何有经验的 CSS 作者完全困惑。

至于您的实际问题,您如何为匿名用户的帖子设置样式完全取决于它们的标记方式。例如,如果这样的帖子在您的 HTML 中如下所示:

<div class="post anonymous">...</div>

然后你可以简单地添加另一个样式规则,如下所示:

div.anonymous {
  background-color: purple;
}

重要的问题是:这些样式规则以什么顺序出现在您的样式表中?如果.anonymous出现在最后,那么无论它适用于何处,它都会优先。因此,即使 the.post.anonymous规则都适用于 that <div>.anonymous颜色优先,因为它稍后出现。(当然,如果您将这些规则按其他顺序排列,则相反。)

于 2009-08-25T01:54:09.043 回答