使用CSS多个组合器的最短方法是什么?

时间:2019-09-05 00:22:23

标签: css css-selectors

我想以某种方式从某个input内部对所有selectdiv进行样式设置。我知道我可以做(1)

#divNew select {
    display:table-cell;
    margin-left:1em;
}
#divNew input {
    display:table-cell;
    margin-left:1em;
}

我也可以做(2)

#divNew select,#divNew input {
    display:table-cell;
    margin-left:1em;
}

我知道我做不到(3)

#divNew select,input {
    display:table-cell;
    margin-left:1em;
}

因为(3)将此样式应用于input内部和外部的所有divNew

我的问题是:这就是全部吗?我更喜欢较短的选项(2),但我认为应该删除多余的#divNew。会变得比(2)还短吗?

1 个答案:

答案 0 :(得分:2)

您的选项#2是在一组选择器之间共享声明的正确方法。不支持像#3这样的容器嵌套,但是proposed to the W3C与此类似。

您可能会发现诸如sass之类的CSS预处理工具或更有用,以减少样板,但会增加构建管线的步骤。尽管当今大多数前端框架已经原生包含这样的CSS预处理器。