html - 元素可以包含bem中的 block 吗

标签 html css oocss bem

有人告诉我我写的代码是错误的,如下所示。我想元素不能包含 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-navlink 元素很有帮助。

<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/

相关文章:

css - 使用 SASS 和 OOCSS 引用

css - 遇到文本溢出和溢出问题 : hidden to work

css - OOCSS 最后一个网格元素究竟是如何工作的

元素之间的 HTML 异常间距

javascript - 将 canvas 元素的背景更改为 url

css - :required or [required] CSS selector

javascript - Airbnb 搜索页面上的 jquery resultview 如何工作?

css - 居中 CSS 顶部导航菜单 - SharePoint 子网站

javascript - 触发点击事件到项目列表

html - 无法使用@font-face 加载字体