En CSS, il n’ya aucun moyen de sélectionner un frère avec plus si le frère est au-dessus de la sortie, un élément précédent dans le code HTML.
Par exemple
<div class="first">
<div class="second">
.second + .first { style applied to div.first}
Est-il possible de faire cela dans SASS/SCSS?
SASS prend en charge tous les sélecteurs CSS3. Frère + est l'un d'entre eux. Mais cela n’apporte pas de fonctionnalités supplémentaires .
first {
+ second {
font-size: smaller;
}
}
Mais vous ne pouvez pas impacter un parent avec ça ...
Ps: cela semble être une fonctionnalité de CSS4 :)
Je connais le sentiment, c'est vraiment ennuyeux. J'ai trouvé un moyen rapide de le faire.
HTML:
<div class="mainmenu">
<div class="subnav">
<ul>
<li>Whatever</li>
</ul>
</div>
</div>
-------->
SCSS:
// CSS est dirigé vers le premier enfant de div "mainmenu" avec le classe "subnav".
.mainmenu{
& > .subnav{
// Child Selector SCSS HERE
}
}
====> thgaskell, vous m'avez prouvé le contraire :) Mon code fonctionne bien et j'ai perdu 6 Ko de mon code Minified! J'ai mis à jour le code comme comment le commentaire ci-dessous a été informé.
Peut ou peut ne pas être adapté à vos besoins, mais vous pouvez utiliser le sélecteur de frères et soeurs général dans Sass/CSS. Cela sélectionnera tous les éléments du même niveau de noeud (pas explicitement avant mais toujours pratique):
.second {
.first ~ & {
/* styles to be applied to .second if a .first exists at the same node level */
}
}