有人告诉我我写的代码是错误的,如下所示。我想元素不能包含 block 及其坏的 b.e.m.
<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>
是我原来的编码方式不对吗?如果是,为什么,最好的选择是什么。
最佳答案
您应该使用第二个或第三个样本。
或者您可以使用这个(它使用 BEM 混合;我们在俄语中有一个 talk)。这对您需要从 javascript 代码访问 b-nav
的 link
元素很有帮助。
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-nav__link b-link"> Item </a>
</li>
</ul>
关于html - 元素可以包含bem中的 block 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904500/