[SPIP Zone] [HS] SCSS : performances d'écriture

Bonjour,

Pas une question SPIP, mais dans le cadre de création de feuilles de styles SCSS avec le plugin spip correspondant :

AU niveau performances navigateurs, est-il plus ou moins rapide, ou égal, d'écrire tout le chemin pour désigner un sélecteur, ou bien seulement les niveaux spécifiques.

Exemple : vaut-il mieux écrire

.body--sommaire {
   .page--container {
     &.page__header {
       .header__nav {
         padding-left: 0;
       }
     }

     &.page__content {
       .contentMain {
         width: 100%;
...

ou bien

.body--sommaire {
       .header__nav {
         padding-left: 0;
       }

       .contentMain {
         width: 100%;

?

Merci
--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net

Toujours le moins de sélecteur possible, c'est très coûteux.

Et c'est pour ça qu'il est conseillé d'utiliser la méthode BEM qui a
toujours qu'un seul niveau, et on descend à deux seulement en de rares
cas très spécifiques.

.composant{ }
.composant__titre{ }
.composant__logo{ }

Et si c'est pour le composant dans tel page précise, là

.page_sommaire .composant { }
.page_sommaire .composant__titre { }

Mais c'est tout, pas plus. Beaucoup plus performant.

--
RastaPopoulos

OKAAAyyyyy !!!

Merci beaucoup pour cette réponse limpide.

Trouvé ça en cherchant BEM :

J'ai appris quelque chose d'important ce soir.

Merci encore

Le 21/03/2018 à 22:24, RastaPopoulos a écrit :

Toujours le moins de sélecteur possible, c'est très coûteux.

Et c'est pour ça qu'il est conseillé d'utiliser la méthode BEM qui a
toujours qu'un seul niveau, et on descend à deux seulement en de rares
cas très spécifiques.

.composant{ }
.composant__titre{ }
.composant__logo{ }

Et si c'est pour le composant dans tel page précise, là

.page_sommaire .composant { }
.page_sommaire .composant__titre { }

Mais c'est tout, pas plus. Beaucoup plus performant.

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net

Le 21 mars 2018 à 22:39, Stéphane Santon <m.spiprezo@team-santonum.com> a écrit :

OKAAAyyyyy !!!

Merci beaucoup pour cette réponse limpide.

Trouvé ça en cherchant BEM :
Bonnes pratiques en CSS : BEM et OOCSS - Alsacreations

Superbe article! A lire absolument!

J'ai appris quelque chose d'important ce soir.

Merci encore

Le 21/03/2018 à 22:24, RastaPopoulos a écrit :

Toujours le moins de sélecteur possible, c'est très coûteux.
Et c'est pour ça qu'il est conseillé d'utiliser la méthode BEM qui a
toujours qu'un seul niveau, et on descend à deux seulement en de rares
cas très spécifiques.
.composant{ }
.composant__titre{ }
.composant__logo{ }
Et si c'est pour le composant dans tel page précise, là
.page_sommaire .composant { }
.page_sommaire .composant__titre { }
Mais c'est tout, pas plus. Beaucoup plus performant.

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net
----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 21/03/2018 à 23:06, Ybbet SPIP a écrit :

Superbe article! A lire absolument!

Oui mais il date, BEM a été mis à jour ya pas mal de temps déjà, pour
n'utiliser plus que UN caractère unique : que le souligné _.

Deux pour un descendant, un seul pour un modificateur.

Ensuite chacun fait ce qu'il veut à l'intérieur, si on a plusieurs mots,
soit camel, soit tiret -, mais eux conseil le tiret car c'est déjà ce
qui est utiliser en CSS donc c'est connu pour le multi mot en CSS par
tout le monde : font-size, background-color, etc.

Donc il faut arrêter d'utiliser le tiret - en BEM, il n'y a plus que le
souligné _, et laisser le tiret pour séparer les mots.

--
RastaPopoulos

Le 21/03/2018 à 23:17, RastaPopoulos a écrit :

Le 21/03/2018 à 23:06, Ybbet SPIP a écrit :

Superbe article! A lire absolument!

Oui mais il date, BEM a été mis à jour ya pas mal de temps déjà, pour
n'utiliser plus que UN caractère unique : que le souligné _.

Deux pour un descendant, un seul pour un modificateur.

Mince j'avais déjà pendant 1 heure refait mes squelettes avec plein de nouvelles classes BEM, il faut que je remodifies déjà ... :wink:

Merci pour la mise à jour de l'info :slight_smile:

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net

Il y a aussi l'astuce du @at-root qui permet de contourner le
surempilement de classes.
http://sassbreak.com/getting-back-to-our-roots/