我想以某种方式从某个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)还短吗?

最佳答案

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

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

关于css - 使用CSS多个组合器的最短方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57796995/

10-10 01:42