如何同时选择给定元素及其所有子元素?

时间:2012-01-08 21:08:36

标签: css css-selectors

好的,我知道如何分开做这两件事:

#elemID {  } /* selects only one element */
#elemID * {  } /* selects all its children elements but not the element itself */

我知道我可以这样做:

#elemID, #elemID * { }

但有没有办法避免这种重复?

2 个答案:

答案 0 :(得分:8)

不,没有什么比这短。

请注意,如果您真的只想要#elemID的所有孩子,而不是所有后代,则需要使用子组合器:

#elemID, #elemID > *

正如ŠimeVidas所评论的那样,默认情况下,某些属性如color会自动由后代元素继承。如果您尝试为#elemID提供文本颜色,则不需要显式地将其应用于其中的元素。有关详细信息,请参阅CSS中的SitePoint Reference继承。

答案 1 :(得分:0)

没有。但如果存在等效选择器,则可以选择其父级:

.parent * { ... }