【发布时间】:2011-06-01 16:24:39
【问题描述】:
我可以执行以下操作吗?
.class1{some stuff}
.class2{class1;some more stuff}
【问题讨论】:
标签: css css-selectors
我可以执行以下操作吗?
.class1{some stuff}
.class2{class1;some more stuff}
【问题讨论】:
标签: css css-selectors
更新 1: CSS 3 级嵌套有一个 CSS3 规范。目前是草稿。 https://tabatkins.github.io/specs/css-nesting/
更新 2(2019 年):我们现在有了 CSSWG 草案 https://drafts.csswg.org/css-nesting-1/
如果获得批准,语法将如下所示:
table.colortable {
& td {
text-align:center;
&.c { text-transform:uppercase }
&:first-child, &:first-child + td { border:1px solid black }
}
& th {
text-align:center;
background:black;
color:white;
}
}
.foo {
color: red;
@nest & > .bar {
color: blue;
}
}
.foo {
color: red;
@nest .parent & {
color: blue;
}
}
状态: 最初的 2015 年规范提案未得到工作组的批准。
【讨论】:
【讨论】:
不是纯 CSS。最接近的等价物是:
.class1, .class2 {
some stuff
}
.class2 {
some more stuff
}
【讨论】:
不直接。但是您可以使用诸如LESS 之类的扩展来帮助您实现同样的目标。
【讨论】:
没有。
您可以在单个元素上使用grouping selectors 和/或多个类,或者您可以使用模板语言并使用软件对其进行处理以编写您的 CSS。
另请参阅我在CSS inheritance 上的文章。
【讨论】:
我不相信这是可能的。您可以将class1 添加到所有也具有class2 的元素。如果手动执行此操作不实用,您可以使用 JavaScript 自动执行(使用 jQuery 很容易做到)。
【讨论】:
试试这个...
给元素一个ID,还有一个类名。然后你可以在你的 CSS 中嵌套 #IDName.className。
这里有一个更好的解释 https://css-tricks.com/multiple-class-id-selectors/
【讨论】: