Je n'utilise pas SASS depuis très longtemps et je voulais savoir s'il y avait des problèmes avec les pseudo-éléments tels que :first-child
ou :last-child
?
Bien qu'Andre ait raison de dire qu'il existe des problèmes avec les pseudo-éléments et leur prise en charge, en particulier dans les navigateurs plus anciens (IE), cette prise en charge s'améliore constamment.
En ce qui concerne votre question, y a-t-il des problèmes, je dirais que je n'en ai pas vraiment vu, bien que la syntaxe du pseudo-élément puisse être un peu délicate, surtout lors de la première analyse. Alors:
div#top-level
declarations: ...
div.inside
declarations: ...
&:first-child
declarations: ...
qui compile comme on pourrait s'y attendre:
div#top-level{
declarations... }
div#top-level div.inside {
declarations... }
div#top-level div.inside:first-child {
declarations... }
Je n'ai vu aucune documentation à ce sujet, sauf pour la déclaration que "sass peut faire tout ce que css peut faire." Comme toujours, avec Haml et SASS, l'indentation est tout.
Je pense qu'il vaut mieux (pour mon expérience) utiliser: :first-of-type
, :nth-of-type()
, :last-of-type
. Cela peut être fait avec un petit changement de règles, mais j'ai pu faire bien plus que des sélecteurs *-of-type
, Que *-child
.
Tout d'abord, il existe encore des navigateurs qui ne prennent pas en charge ces pseudo-éléments (c'est-à-dire: premier enfant,: dernier enfant), vous devez donc "traiter" ce problème.
Il y a un bon exemple comment faire fonctionner cela sans utiliser de pseudo-éléments:
- voir l'exemple de tuyau de séparation.
J'espère que cela a été utile.