以下のようにコードを書くのが間違っていると言われました。私は要素がブロックとその悪いb.m.mを含むことができないと思います。bem内のブロックを含むことができる要素
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-nav__item__link"> Item </a>
</li>
</ul>
私はこのように書くことを考えましたが、階層も表示されません。
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-nav__link"> Item </a>
</li>
</ul>
これは別の方法ですが、私には上記の例よりも悪いようです。
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-link"> Item </a>
</li>
</ul>
私はもともとそれを間違ってコード化しましたか?もしそうならば、そして何が最良の選択肢なのか。
2つの最初のサンプルの違いはなんですか?そして、あなたはクラス名について質問していますか? – xec
あなたがしたことに違いや間違いはありません。 –
@EricHarms実際のウェブサイトのほとんどにBEMを使用しているのは間違いです。典型的には、子セレクタなどのコアCSS機能を利用する方が良いでしょう。したがって、あなたのHTMLは実際には次のようになります: '
- Item
'、あなたのCSSセレクタは 'UL.nav> LI'、' UL.nav A'または 'UL 'のようになります。ナビ> LI> A' –