SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Pimp your css with
BEM
Au début, tout va bien ...
Puis ...
• Chaque règle CSS a potentiellement une portée globale
• Le rendu peu devenir imprédictible à cause de l’effet de
cascade
• L’ordre de nos règles CSS détermine le rendu
• Collision des noms de classe
Problématiques
Problématiques
• Méthodologie de nommage et de classification des sélecteurs
CSS
• Créer par Yandex à l’origine l’un des plus important moteur de
recherche russe
• Blocks - Elements - Modifiers
BEM
• Un développement rapide et maintenable
• Un projet qui implique plusieurs développeurs
• Des équipes scalables
• Un code réutilisable
Objectifs
Un block est une entité indépendante. Elle a son propre
contexte autonome. Il peut être simple ou composé.
• Ne jamais utilisé de markups ni de ID comme sélécteur
• Sémantique
Ex. : header
Block
Un élément est une partie d’un block qui a une certaine
fonction. Le contexte d’un élément est celui du block.
• Sémantique
Ex. : header__logo
Elements
Un modifieur est une propriété qui sert à créer des variantes. Il
existe des modifieurs de blocks et des modifieurs d’éléments.
• non sémantique
Ex. : header--black
header__logo--smallSize
Modifieur
exemple de block : testimonialList
exemple de block : testimonialList
exemple de block : testimonialList
exemple de block : testimonialList
exemple de block : testimonialList
Les avantages
• La méthodologie de nomenclature apporte de la
signification au nom de nos classes
• BEM transforme notre CSS en un ensemble de composant,
ce qui rend les modifications plus prédictibles, une plus
grande portabilité ( donc de productivité et de qualité)
• Une meilleure séparation entre le HTML et le CSS
• Évite les cascades de css trop longue
• Évite les collisions de nom de classe
Les inconvénients
• C’est moche
• C’est long (mais, on a tous l’autocomplétion, non ?)
• Surcharge le HTML avec des noms de classes
• Les frameworks HTML n’utilisent pas forcément BEM
Questions ?
Merci !
gabriel.vieira@openclassrooms.com

Contenu connexe

En vedette

Magazine research pp
Magazine research ppMagazine research pp
Magazine research ppluke119
 
20150423 跨科際短講籌備會議
20150423 跨科際短講籌備會議20150423 跨科際短講籌備會議
20150423 跨科際短講籌備會議Wendy Yuchen Sun
 
從北林學院到北林有囍
從北林學院到北林有囍從北林學院到北林有囍
從北林學院到北林有囍Wendy Yuchen Sun
 
20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄
20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄
20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄Wendy Yuchen Sun
 
WWV 檢討會議投影片(北場)
WWV 檢討會議投影片(北場)WWV 檢討會議投影片(北場)
WWV 檢討會議投影片(北場)Wendy Yuchen Sun
 
20140306北林學苑訪調簡介v2
20140306北林學苑訪調簡介v220140306北林學苑訪調簡介v2
20140306北林學苑訪調簡介v2Wendy Yuchen Sun
 
Wwv 檢討會議投影片(中場)
Wwv 檢討會議投影片(中場)Wwv 檢討會議投影片(中場)
Wwv 檢討會議投影片(中場)Wendy Yuchen Sun
 
20140306 北林學苑訪調簡介
20140306 北林學苑訪調簡介20140306 北林學苑訪調簡介
20140306 北林學苑訪調簡介Wendy Yuchen Sun
 
在地經濟 x 社區設計讀書會1 Take Back the Economy
在地經濟 x 社區設計讀書會1 Take Back the Economy在地經濟 x 社區設計讀書會1 Take Back the Economy
在地經濟 x 社區設計讀書會1 Take Back the EconomyWendy Yuchen Sun
 
Questionaire presentation
Questionaire presentationQuestionaire presentation
Questionaire presentationluke119
 
WWV 檢討分享會投影片
WWV 檢討分享會投影片WWV 檢討分享會投影片
WWV 檢討分享會投影片Wendy Yuchen Sun
 
Http _www.slidesharesubstituição
Http  _www.slidesharesubstituiçãoHttp  _www.slidesharesubstituição
Http _www.slidesharesubstituiçãoAndressa Corrêa
 
Lucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートLucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートShinpei Nakata
 

En vedette (17)

Focus group
Focus groupFocus group
Focus group
 
Focus group
Focus groupFocus group
Focus group
 
pinki ppt
pinki pptpinki ppt
pinki ppt
 
Magazine research pp
Magazine research ppMagazine research pp
Magazine research pp
 
20150423 跨科際短講籌備會議
20150423 跨科際短講籌備會議20150423 跨科際短講籌備會議
20150423 跨科際短講籌備會議
 
從北林學院到北林有囍
從北林學院到北林有囍從北林學院到北林有囍
從北林學院到北林有囍
 
20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄
20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄
20150423 第二屆跨科際短講系列競賽第一次籌備會議會議紀錄
 
WWV 檢討會議投影片(北場)
WWV 檢討會議投影片(北場)WWV 檢討會議投影片(北場)
WWV 檢討會議投影片(北場)
 
20140306北林學苑訪調簡介v2
20140306北林學苑訪調簡介v220140306北林學苑訪調簡介v2
20140306北林學苑訪調簡介v2
 
Wwv 檢討會議投影片(中場)
Wwv 檢討會議投影片(中場)Wwv 檢討會議投影片(中場)
Wwv 檢討會議投影片(中場)
 
20140306 北林學苑訪調簡介
20140306 北林學苑訪調簡介20140306 北林學苑訪調簡介
20140306 北林學苑訪調簡介
 
在地經濟 x 社區設計讀書會1 Take Back the Economy
在地經濟 x 社區設計讀書會1 Take Back the Economy在地經濟 x 社區設計讀書會1 Take Back the Economy
在地經濟 x 社區設計讀書會1 Take Back the Economy
 
Questionaire presentation
Questionaire presentationQuestionaire presentation
Questionaire presentation
 
WWV 檢討分享會投影片
WWV 檢討分享會投影片WWV 檢討分享會投影片
WWV 檢討分享會投影片
 
ON SITE FOR SITE
ON SITE FOR SITEON SITE FOR SITE
ON SITE FOR SITE
 
Http _www.slidesharesubstituição
Http  _www.slidesharesubstituiçãoHttp  _www.slidesharesubstituição
Http _www.slidesharesubstituição
 
Lucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポートLucene/Solr Revolution 2016 参加レポート
Lucene/Solr Revolution 2016 参加レポート
 

Similaire à Pimp your css

cours Cascading style sheet developpement web
cours Cascading style sheet developpement webcours Cascading style sheet developpement web
cours Cascading style sheet developpement webYounesOuladSayad1
 
CSS3 - Possibilite creatives
CSS3 - Possibilite creativesCSS3 - Possibilite creatives
CSS3 - Possibilite creativesRémy Savard
 
Les règles de développement Angular
Les règles de développement AngularLes règles de développement Angular
Les règles de développement AngularHéla Ben Khalfallah
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_baseskitsformation
 
Chapitre 3 : initiation CSS
Chapitre 3 : initiation CSSChapitre 3 : initiation CSS
Chapitre 3 : initiation CSSManel Ben Sassi
 
Structure html et rendu css des balises bloc et en ligne - alsacreations
Structure html et rendu css des balises   bloc et en ligne - alsacreationsStructure html et rendu css des balises   bloc et en ligne - alsacreations
Structure html et rendu css des balises bloc et en ligne - alsacreationsMED MED
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptRihabBENLAMINE
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf4gnzggpfdw
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalJean-Baptiste Guerraz
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalSkilld
 
BEM, vos CSS sous vitamines !
BEM, vos CSS sous vitamines !BEM, vos CSS sous vitamines !
BEM, vos CSS sous vitamines !Thomas ZILLIOX
 
Optimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPressOptimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPressDaniel Roch - SeoMix
 
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdfCSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdfadeljaouadi
 

Similaire à Pimp your css (20)

CSS
CSSCSS
CSS
 
html-css-casuhal.pdf
html-css-casuhal.pdfhtml-css-casuhal.pdf
html-css-casuhal.pdf
 
cours Cascading style sheet developpement web
cours Cascading style sheet developpement webcours Cascading style sheet developpement web
cours Cascading style sheet developpement web
 
CSS3 - Possibilite creatives
CSS3 - Possibilite creativesCSS3 - Possibilite creatives
CSS3 - Possibilite creatives
 
CSS3 - nouveautes
CSS3 - nouveautesCSS3 - nouveautes
CSS3 - nouveautes
 
Css
CssCss
Css
 
Langage CSS
Langage CSSLangage CSS
Langage CSS
 
WordPress et SEO - SEOCampus 2013
WordPress et SEO - SEOCampus 2013WordPress et SEO - SEOCampus 2013
WordPress et SEO - SEOCampus 2013
 
Les règles de développement Angular
Les règles de développement AngularLes règles de développement Angular
Les règles de développement Angular
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_bases
 
Histoires de CMS
Histoires de CMSHistoires de CMS
Histoires de CMS
 
Chapitre 3 : initiation CSS
Chapitre 3 : initiation CSSChapitre 3 : initiation CSS
Chapitre 3 : initiation CSS
 
Structure html et rendu css des balises bloc et en ligne - alsacreations
Structure html et rendu css des balises   bloc et en ligne - alsacreationsStructure html et rendu css des balises   bloc et en ligne - alsacreations
Structure html et rendu css des balises bloc et en ligne - alsacreations
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.ppt
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances Drupal
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances Drupal
 
BEM, vos CSS sous vitamines !
BEM, vos CSS sous vitamines !BEM, vos CSS sous vitamines !
BEM, vos CSS sous vitamines !
 
Optimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPressOptimiser réellement le référencement naturel de WordPress
Optimiser réellement le référencement naturel de WordPress
 
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdfCSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
CSS%2B-%2BNiv2%2B-%2BExercices%2Bsuppl%25C3%25A9mentaires (3).pdf
 

Pimp your css

  • 1. Pimp your css with BEM
  • 2. Au début, tout va bien ...
  • 4. • Chaque règle CSS a potentiellement une portée globale • Le rendu peu devenir imprédictible à cause de l’effet de cascade • L’ordre de nos règles CSS détermine le rendu • Collision des noms de classe Problématiques
  • 6. • Méthodologie de nommage et de classification des sélecteurs CSS • Créer par Yandex à l’origine l’un des plus important moteur de recherche russe • Blocks - Elements - Modifiers BEM
  • 7. • Un développement rapide et maintenable • Un projet qui implique plusieurs développeurs • Des équipes scalables • Un code réutilisable Objectifs
  • 8. Un block est une entité indépendante. Elle a son propre contexte autonome. Il peut être simple ou composé. • Ne jamais utilisé de markups ni de ID comme sélécteur • Sémantique Ex. : header Block
  • 9. Un élément est une partie d’un block qui a une certaine fonction. Le contexte d’un élément est celui du block. • Sémantique Ex. : header__logo Elements
  • 10. Un modifieur est une propriété qui sert à créer des variantes. Il existe des modifieurs de blocks et des modifieurs d’éléments. • non sémantique Ex. : header--black header__logo--smallSize Modifieur
  • 11. exemple de block : testimonialList
  • 12. exemple de block : testimonialList
  • 13. exemple de block : testimonialList
  • 14. exemple de block : testimonialList
  • 15. exemple de block : testimonialList
  • 16. Les avantages • La méthodologie de nomenclature apporte de la signification au nom de nos classes • BEM transforme notre CSS en un ensemble de composant, ce qui rend les modifications plus prédictibles, une plus grande portabilité ( donc de productivité et de qualité) • Une meilleure séparation entre le HTML et le CSS • Évite les cascades de css trop longue • Évite les collisions de nom de classe
  • 17. Les inconvénients • C’est moche • C’est long (mais, on a tous l’autocomplétion, non ?) • Surcharge le HTML avec des noms de classes • Les frameworks HTML n’utilisent pas forcément BEM