%color {
color: blue;
}
<strong i="6">@mixin</strong> getOverridedSelector {
&#{&} {
@content;
}
}
.foo {
<strong i="7">@include</strong> getOverridedSelector {
<strong i="8">@extend</strong> %color;
}
}
.bar {
<strong i="9">@include</strong> getOverridedSelector {
color: red;
}
}
libsass 3.6.0
Ruby Sass 3.7.4
bem como no codepen (provavelmente libsass)
.foo {
color: blue;
}
.bar.bar {
color: red;
}
dardo sass 1.22.6-1 (Archlinux AUR)
.foo.foo {
color: blue;
}
.bar.bar {
color: red;
}
fonte que encontrou este problema: https://stackoverflow.com/questions/57376896
@ nex3 isso é intencional ou uma regressão no dardo-sass?
A versão anterior do ruby sass tinha a mesma saída que o libsass.
Dart Sass está correto aqui. O comportamento do Ruby Sass e do LibSass viola a segunda lei da extensão , que diz que a especificidade do seletor gerado ( .foo
, especificidade 10) deve ser maior ou igual à especificidade do extensor ( .foo.foo
, especificidade 20).
Isso parece ter sido corrigido no último mestre.
Comentários muito úteis
Dart Sass está correto aqui. O comportamento do Ruby Sass e do LibSass viola a segunda lei da extensão , que diz que a especificidade do seletor gerado (
.foo
, especificidade 10) deve ser maior ou igual à especificidade do extensor (.foo.foo
, especificidade 20).