According to the docs如果我这样做:
.child, .sibling {
.parent & {
color: black;
}
& + & {
color: red;
}
}
我应该得到这样的规则:
.parent .child,
.parent .sibling {
color: black;
}
.child + .child,
.child + .sibling,
.sibling + .child,
.sibling + .sibling {
color: red;
}
所以我正在做类似的事情:
table {
width: 100%;
td, th {
text-align: right;
& + & {
text-align: left;
}
}
}
但它不起作用。关于为什么没有的任何想法?
答案 0 :(得分:2)
使用http://winless.org/online-less-compiler这对我来说非常好,这是输出:
table {
width: 100%;
}
table td,
table th {
text-align: right;
}
table td + table td,
table td + table th,
table th + table td,
table th + table th {
text-align: left;
}
我认为问题是您正在使用功能& + &
错误,因为它产生了table td + table td
,转换为th
有一个祖先table
,其前一个兄弟是具有祖先td
的{{1}}。
我认为您应该使用table
table td + th, ...
+ th, + td
产地:
table {
width: 100%;
td, th {
text-align: right;
+ th, + td {
text-align: left;
}
}
}
只是为了澄清,它没有按你的想法工作的原因是因为table {
width: 100%;
}
table td,
table th {
text-align: right;
}
table td + th,
table th + th,
table td + td,
table th + td {
text-align: left;
}
代表当前选择器,包含在“当前”之前的所有内容。