使用父选择器时LessCss extend BREAKED

使用父选择器时LessCss extend BREAKED,less,Less,我正在使用&:extend(.klass) 我有一个方法: .method(@mixin) { html[something] & { @mixin() } } .klass { .method({}); } 到目前为止还不错。但是,当我使用此选项时: .anotherclass { &:extend(.klass) } 我没有抱怨,它适当地扩展了klass 结果css: html[something] .klass { ... }

我正在使用&:extend(.klass)

我有一个方法:

.method(@mixin) {

      html[something] & { @mixin() }

}

.klass {

      .method({});

}
到目前为止还不错。但是,当我使用此选项时:

.anotherclass { &:extend(.klass)  } 
我没有抱怨,它适当地扩展了klass

结果css:

html[something] .klass  { ... } 
.klass, .anotherclass { ... } 
但是,理想情况下,它还应该扩展html[something].klass

因此,理想的结果应该是:

html[something] .klass, html[something] .anotherclass  { ... } 
.klass, .anotherclass { ... } 
对吧?

否则,您可能会使用&:extend(.klass)get no complaint,期望应用正确的规则

我在java上使用的更少,它可能使用的是旧版本

这在新版本中是否“更好”


注意,我知道我可以将klass转换为方法调用

发布的最小代码可能有问题,但此处发布的代码无法编译,因为
.method()
与上面的选择器不匹配,需要提供一个参数。但也就是说添加
&:extend(.klass all)
(使用
all
关键字)应该可以在最新版本的编译器中生成所需的输出。谢谢Harry,这确实有效!然而,我认为这应该是默认的。事实上,我已经知道了一切,但已经忘记了。想象一下,你有一群开发人员,你知道他们需要沟通,以便在任何地方都能使用(这是一件安全的事情,考虑到其他一切,这是一件直观的事情,可以让你达到预期的行为)。我知道向后兼容性现在可能是个问题,但您可以引入一个新的单独关键字,inherit或类似的。但是团队中有些人经常出现堆栈溢出,他们可以回答您的问题:)好的,谢谢您让我知道。无论是谁读到这篇文章,这里是我刚刚发现的另一个论点。如果一个类在不使用all的情况下扩展了另一个类,那么第三个类可以在不使用all的情况下扩展第二个类,并将其放在顶层。因此,所有这些都是方法调用所必需的,这有点虚假。现在我将强制使用all,但是在扩展类的类的扩展和调用方法(使用父选择器)来回答“
all
应该是默认值”的类的扩展之间有区别,不,有很多原因不应该这样做(从技术上讲,当实现其他不太方便的
extend
关键字时,
all
几乎不会被使用)。有关更多详细信息,请参阅。