%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
ainsi que sur codepen (probablement libsass)
.foo {
color: blue;
}
.bar.bar {
color: red;
}
dart sass 1.22.6-1 (Archlinux AUR)
.foo.foo {
color: blue;
}
.bar.bar {
color: red;
}
source qui a trouvé ce problème : https://stackoverflow.com/questions/57376896
@nex3 est-ce intentionnel ou une régression dans Dart-sass?
La version précédente de ruby sass avait la même sortie que libsass.
Dart Sass a raison ici. Le comportement de Ruby Sass et LibSass viole la deuxième loi d'extend , qui dit que la spécificité du sélecteur généré ( .foo
, spécificité 10) doit être supérieure ou égale à la spécificité de l'extendeur ( .foo.foo
, spécificité 20).
Cela semble avoir été corrigé sur le dernier master.
Commentaire le plus utile
Dart Sass a raison ici. Le comportement de Ruby Sass et LibSass viole la deuxième loi d'extend , qui dit que la spécificité du sélecteur généré (
.foo
, spécificité 10) doit être supérieure ou égale à la spécificité de l'extendeur (.foo.foo
, spécificité 20).