Libsass: @extend ignora @mixin

Criado em 6 ago. 2019  ·  3Comentários  ·  Fonte: sass/libsass

input.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;
  }
}

Resultados reais

libsass 3.6.0
Ruby Sass 3.7.4
bem como no codepen (provavelmente libsass)

.foo {
  color: blue;
}

.bar.bar {
  color: red;
}

Resultado esperado

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

Bug - Confirmed Dev - Test Written

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

Todos 3 comentários

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

Esta página foi útil?
0 / 5 - 0 avaliações