Libsass: @extend ignore @mixin

Créé le 6 août 2019  ·  3Commentaires  ·  Source: sass/libsass

entrée.scss

%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;
  }
}

Résultats actuels

libsass 3.6.0
Ruby Sass 3.7.4
ainsi que sur codepen (probablement libsass)

.foo {
  color: blue;
}

.bar.bar {
  color: red;
}

Résultat attendu

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

Bug - Confirmed Dev - Test Written

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).

Tous les 3 commentaires

@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.

Cette page vous a été utile?
0 / 5 - 0 notes