Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Undefined array key "tbm_guide_level" in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113
Trasformare in BEM un CSS esistente | Guida SASS | CSS HTML.it
Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Trasformare in BEM un CSS esistente

Un semplice esempio per comprendere il funzionamento della metodologia BEM (Block, Element, Modifier), trasformando un esempio da CSS "classico" a BEM.
Un semplice esempio per comprendere il funzionamento della metodologia BEM (Block, Element, Modifier), trasformando un esempio da CSS "classico" a BEM.
Link copiato negli appunti

Cerchiamo con un semplice esempio di capire meglio il funzionamento della metodologia BEM. Ipotizziamo di avere un menu così composto:

<ul class="main-menu">
	<li class="menu-item selected"><a href="#">First element</a></li>
	<li class="menu-item"><a href="#">Sceond element</a></li>
	<li class="menu-item"><a href="#">Third element</a></li>
</ul>

Il css potrebbe essere:

.main-menu
{
	width: 960px;
	background-color: #CCC;
	text-align: center;
	margin: 10px auto;
}
.menu-item
{
	display: inline-block;
	padding: 5px 20px;
}
.menu-item a
{
	color: #FFF;
	text-decoration: none;
	text-transform: uppercase;
}
.menu-item.selected a
{
	color: #000;
}

Per utilizzare la metodologia BEM dobbiamo partire dalla divisione in blocchi, elementi e modificatori. Nel nostro esempio possiamo identificare come blocco il menu stesso, come elementi le diverse voci (tag li) e come modificatore la voce selezionata Il codice HTML sarà trasformato in questo modo:

<ul class="menu">
	<li class="menu__item--selected"><a href="#">First element</a></li>
	<li class="menu__item"><a href="#">Sceond element</a></li>
	<li class="menu__item"><a href="#">Third element</a></li>
</ul>

e il css diventerà (con l'aiuto di SASS):

.menu
{
	width: 960px;
	background-color: #CCC;
	text-align: center;
	margin: 10px auto;
}
.menu__item
{
	display: inline-block;
	padding: 5px 20px;
	a{
		color: #FFF;
		text-decoration: none;
		text-transform: uppercase;
	}
}
.menu__item--selected
{
	@extend .menu__item;
	a{
		color: #000;
	}
}

Ti consigliamo anche