IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Bonnes pratiques BEM


Sujet :

CSS

  1. #1
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut Bonnes pratiques BEM
    Bonjour à tous,

    Je suis en train d'essayer de mettre en place la convention BEM (Blocks - Elements - Modifier) dans mon entreprise afin d'uniformiser le CSS de nos projets.

    Vu que je ne connais pas bien cette convention j'ai une question qui peux paraitre bête mais dont j'aimerai avoir l'avis de ceux qui utilisent BEM :
    Lorsque j'ai un block, dans un autre block, etc... sur plusieurs niveaux, comment ça se passe ?

    Exemple : J'ai un header, cet header contient un menu, ce menu contient des items, ces items contiennent une image et un span.

    Est-ce que les éléments de mon item doivent être nommés comme ceci :
    .header-menu-item__image et .header-menu-item__span ? Ou ai-je mal compris ?

    De plus, au cas ou je sois sur l'item actif de mon menu, est ce que chaque élément de mon item doit avoir le modifier : .header-menu-item__image--active et .header-menu-item__span--active ?

    Merci d'avance pour vos éclaircissements


    Les boutons et existent, servez-vous en

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    salut, nous avion aussi essaye la methode BEM, mais n'avons jamais reussi a l'exploiter correctement...
    a force d'optims, je suis tombe sur ce developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations
    alors certes ils preconisent d'utiliser un BEM-like, mais qu'il est tout aussi bien, juste de reduire le niveau de complexite des selecteurs ainsi que la profondeur du selecteur

    TL;DR
    Reduce the complexity of your selectors; use a class-centric methodology like BEM.
    Reduce the number of elements on which style calculation must be calculated.
    (ma traduction)
    reduire la complexite des selecteurs; utiliser une "calss-centric" methode comme BEM
    reduire le nombre d'elements sur lequel le calcul du style se fait
    If you’re looking for a good way to organize your CSS, BEM is a really good starting point, both from a structure point-of-view, but also because of the simplifications of style lookup.

    If you don’t like BEM, there are other ways to approach your CSS, but the performance considerations should be assessed alongside the ergonomics of the approach.
    (ma traduction)
    si vous cherchez une bonne methode pour organiser votre CSS, BEM est un bon debut aussi bien pour la structure, mais aussi pour la simplification du style
    si vous n'aimez pas BEM, il y a d'autres approches pour votre CSS, mais les performances doivent etre prise en consideration

    => perso, on a opte pour une approche de 2 de profondeur max pour les selecteurs, et ca semble correspondre a notre equipe. de meme on a essaye de faire que des selecteurs simples (quitte a rajouter 1 classe en JS quand necessaire)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Salut,

    Merci pour ton retour d’expérience, je pense qu'on va aussi faire une sorte de BEM-like à notre sauce, mais comme je compte présenter le concept à l'équipe j'aimerais être carré sur la présentation de la convention BEM pour qu'on réfléchisse ensemble à comment on va mettre ça en place chez nous (le 2 de profondeurs max me parait tout à fait pertinent, mais on va en débattre entre nous)


    Les boutons et existent, servez-vous en

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122

  5. #5
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Bonjour,

    Article très intéressant, merci


    Les boutons et existent, servez-vous en

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Qui pratique la programmation spontanée ?
    Par Doloop dans le forum Débats sur le développement - Le Best Of
    Réponses: 486
    Dernier message: 11/04/2023, 19h50
  2. Bonnes pratiques en CSS : BEM et OOCSS
    Par Paleo dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 14/09/2014, 08h43
  3. Bonnes pratiques de protections individuelles
    Par Community Management dans le forum Sécurité
    Réponses: 22
    Dernier message: 05/04/2013, 11h47
  4. [Sockets] Questions pratiques
    Par ludovic.fernandez dans le forum Réseau
    Réponses: 5
    Dernier message: 16/01/2004, 18h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo