Lors de l'extension d'un espace réservé à partir d'un sélecteur [type]
, si l'espace réservé utilise des pseudo-classes, les sélecteurs sont imprimés dans le mauvais ordre.
%button-styles {
color: red;
&:focus {
color: blue;
}
}
[type="button"] {
<strong i="8">@extend</strong> %button-styles;
}
[type="button"] {
color: red;
}
:focus[type="button"] {
color: blue;
}
[type="button"] {
color: red;
}
[type="button"]:focus {
color: blue;
}
informations de version:
$ node-sass --version
node-sass 4.9.0 (Wrapper) [JavaScript]
libsass 3.5.4 (Sass Compiler) [C/C++]
J'ai également exécuté quelques instructions de débogage avec selector-unify
et j'ai remarqué que si j'utilisais un sélecteur d'élément, il unifiait comme prévu quel que soit l'ordre, mais le sélecteur de type ne l'a pas fait.
@debug(selector-unify('button', ':focus'));
// button:focus
@debug(selector-unify(':focus', 'button'));
// button:focus
@debug(selector-unify('[type="button"]', ':focus'));
// [type="button"]:focus
@debug(selector-unify(':focus', '[type="button"]'));
// :focus[type="button"]
Faites-moi savoir s'il y a plus d'informations que je peux fournir!
C'est un bogue assez
https://www.sassmeister.com/
Ok, j'ai eu un brainfart hier, mon exemple ci-dessous n'est en fait pas un bug (ou du moins l'ordre n'a pas d'importance dans ce cas).
Mais le bogue d'origine est toujours d'actualité.
J'ai également fait quelques tests, et il y a d'autres façons d'étendre avec des classes à l'intérieur, également d'être imprimé dans le mauvais ordre:
Libsass:
%testextend {
background: red;
&.hoverclass {
background: blue;
}
}
%testextend {
background: red;
&:hover {
background: blue;
}
}
.wrapper {
&.inner {
<strong i="15">@extend</strong> %testextend;
}
}
Production:
.wrapper.inner {
background: red;
}
.hoverclass.wrapper.inner {
background: blue;
}
.wrapper.inner {
background: red;
}
.wrapper.inner:hover {
background: blue;
}
Comme vous pouvez le voir ... hoverclass est imprimé comme première classe.
En fait, j'ai trouvé que mon exemple est également un bogue dans la bibliothèque sass normale.
@bskibinski Je ne
@ashleykolodziej Haha bonne journée du gâteau! Heureux de pouvoir l'améliorer;)
De plus, ma deuxième recherche de bogue n'est pas en fait un bogue (longue journée), mais le vôtre l'est toujours!
Espérons que cela sera bientôt résolu! :)
Commentaire le plus utile
C'est un bogue assez
https://www.sassmeister.com/
Ok, j'ai eu un brainfart hier, mon exemple ci-dessous n'est en fait pas un bug (ou du moins l'ordre n'a pas d'importance dans ce cas).
Mais le bogue d'origine est toujours d'actualité.
J'ai également fait quelques tests, et il y a d'autres façons d'étendre avec des classes à l'intérieur, également d'être imprimé dans le mauvais ordre:Libsass:
Production:
Comme vous pouvez le voir ... hoverclass est imprimé comme première classe.En fait, j'ai trouvé que mon exemple est également un bogue dans la bibliothèque sass normale.