Metodologia BEM: scrivere CSS in maniera scalabile e mantenibile

Metodologia BEM: scrivere CSS in maniera scalabile e mantenibile

Nicola Di Venere Di Nicola Di Venere


Ti è mai capitato di assegnare alle classi CSS dei nomi casuali che non rispettano una determinata gerarchia e non descrivono quello che devono fare?

Tranquillo, la risposta è scontata… Soprattutto quando si è alle prime armi è abbastanza complicato scrivere codice mantenibile e scalabile, in quanto queste abilità (skills) si sviluppano con tanta pratica e attenzione non soltanto nello scrivere codice funzionante, ma anche ben strutturato e comprensibile.

Per risolvere questo piccolo intoppo, possiamo utilizzare la convenzione BEM.

Quest’ultima ti permetterà di scrivere classi CSS comprensibili sia per te, che per tutti gli sviluppatori che dovranno leggere il tuo codice.

La più grande peculiarità di BEM è quella di poter scrivere codice modulare, riutilizzabile in molteplici punti del codice e in più progetti.

Ti mostreremo nel dettaglio come utilizzare la convenzione BEM.

Per nominare le classi CSS utilizziamo la seguente sintassi: 

 

/Users/nicoladivenere/Desktop/Schermata 2021-06-01 alle 14.32.15.png

Con block indichiamo un modulo della nostra pagina, come ad esempio: l’intestazione (header).

Element invece rappresenta l’elemento all’interno del nostro blocco (modulo), come ad esempio il logo.

Modifier è quella specifica classe che modifica il blocco o l’elemento.

../Schermata%202021-06-01%20alle%2014.55.44.png

Analizzando il seguente codice HTML puoi intuire in maniera istantanea che abbiamo un blocco header con all’interno un logo ed un blocco nav. Quest’ ultimo è caratterizzato da una lista che a sua volta contiene degli items (li).

In questa maniera diventa facilissimo comprendere lo scopo di una determinata classe e soprattutto la correlazione gerarchica tra le varie classi e i vari elementi.

Dopo aver approfondito i concetti di blocco (block) ed elemento (element), ci soffermiamo su quello di modificatore (modifier). Il modifier è una classe che si applica ad un elemento, con lo scopo di modificare una o più proprietà dello stesso.

 

../Schermata%202021-06-01%20alle%2016.06.30.png

In questo specifico caso immaginiamo di voler aggiungere dello stile nel momento in cui uno specifico link sia stato già visualizzato. Per fare questo utilizziamo appunto il modifier rispettando la sintassi sopra riportata (--modifier).

Sviluppiamo le classi CSS: 

../Schermata%202021-06-01%20alle%2017.09.39.png

Visualizziamo il risultato sul browser:

../Schermata%202021-06-01%20alle%2017.08.13.png

Utilizzare la convenzione BEM in modo corretto ti agevolerà in maniera considerevole nella scrittura del codice e soprattutto ti farà risparmiare molto tempo successivamente quando dovrai revisionarlo o completarlo.

Impara a programmare in 3 mesi con il Corso di Coding Hackademy su Laravel PHP

Diventa Sviluppatore web in 3 mesi

Scopri il coding bootcamp Hackademy

Programma Completo