Mi è stato detto che avevo torto per scrivere il codice come ho di seguito. Suppongo che gli elementi non possono contenere blocchi e il suo male b.E.m.Gli elementi possono contenere blocchi in bem
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-nav__item__link"> Item </a>
</li>
</ul>
Ho pensato di scriverlo in questo modo ma non mostra anche la gerarchia.
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-nav__link"> Item </a>
</li>
</ul>
Ecco un altro modo, ma per me sembra peggio dell'esempio sopra.
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-link"> Item </a>
</li>
</ul>
È il modo in cui ho originariamente codificato in modo errato? Se è così, perché, e qual è la migliore alternativa.
Qual è esattamente la differenza tra i due primi campioni? E stai solo chiedendo dei nomi delle classi? – xec
Non riesco a vedere una differenza o un errore in quello che hai fatto. –
@EricHarms Ciò che è sbagliato è utilizzare BEM per la maggior parte dei siti Web reali. In genere è meglio utilizzare le funzionalità CSS di base come il selettore di figlio. Quindi il tuo HTML dovrebbe essere in questo modo: '
- Item
', ei selettori CSS dovrebbero essere come 'UL.nav> LI',' UL.nav A' o 'UL. nav> LI> A'. –