CSS - 如何在两个元素之间匹配类(一个动态和一个静态)

时间:2011-12-15 16:07:59

标签: php javascript html css wordpress

我正试图在我的身体和随后的div元素之间绑定一条css规则。使用wordpress,我的body元素根据加载的页面定义了自己的类。我正在尝试实现一个样式,基本上检查classe作者是否存在(body.author-<*>),然后找到具有相同类名的div并实现特定的样式。

我不能使用任何内部wordpress函数,因为包含所述div(作者列表)的列表是在我的代码中动态设置的。

还有,我希望避免使用javascript,因为我想尽可能将此更改的范围限制为CSS。

此外,由于我的列表中列出了许多用户,因此为每个用户指定静态css规则(例如body.author-user1 div.author-user1{}...)会很难维护,因为以后可能会添加新作者并且我想限制任何用户将来的代码更改为纯HTML。

这只能用css吗?

2 个答案:

答案 0 :(得分:1)

您可以使用高级css选择器

body[class^="author"] {  }

找到所有以作者为开头的人体,然后为div做同样的事情

body[class^="author"] div[class^="author"] {  }

然而,我不知道ie低于ie8的兼容性。

答案 1 :(得分:0)

我不确定为什么要将body类和内部类都设置为author-#。看起来最简单的方法就是向其中一个添加编号ID(考虑它的值是多么独特),然后直接通过CSS控制该元素。

我不确定这是否仍与您的问题相关,但要“检查”以确定作者 - 前缀是否在您的课程中,只需使用attribute selector像这样:

body[class|=author] { ... }