答案是不。” 目前,您不能混合在选择器字符串中有元素的选择器。虽然这可能是 LESS 的限制,但很难区分 atr
应该是 mixin 还是选择器。
真正的问题是引导程序未能对其部分代码使用嵌套。例如,以下来自tables.less
(截至 2013 年 2 月 18 日):
.table tbody tr {
&.success > td {
background-color: @successBackground;
}
&.error > td {
background-color: @errorBackground;
}
&.warning > td {
background-color: @warningBackground;
}
&.info > td {
background-color: @infoBackground;
}
}
如果它是这样构造.table
的(注意和之间的额外嵌套括号tbody
)......
.table {
tbody tr {
&.success > td {
background-color: red;
}
&.error > td {
background-color: blue;
}
&.warning > td {
background-color: cyan;
}
&.info > td {
background-color: yellow;
}
}
}
...然后它会混合到你的.index
就好了。所以要得到你想要的,你需要将引导代码“更正”到上面,确保所有元素都嵌套在一个.table
调用中;其他未嵌套的选择器调用也需要更正。您可以执行类似corrections.less
在 之后加载的文件之类的操作bootstrap.less
,这样,如果引导程序更新,您就不会丢失更正。然后,当它更新时,您需要进入并检查您的更正是否需要更新(或消除,如果引导程序自己解决问题)。
您需要复制和更正多少都取决于您想要用作 mixin 的错误嵌套的数量。如果您不需要混合,请不要费心纠正它。