【问题标题】:BEM. Can Elements contain Blocks?边界元法。元素可以包含块吗?
【发布时间】:2019-09-26 22:24:42
【问题描述】:

这是我的 HTML

<ul class="menu">
  <li class="menu__item">
    <a href="" class="menu__link"></a>
  </li>
  <li class="menu__item">
    <ul class="list"> // can I place this block inside here?
      <li class="list__item">
        ...
      </li>
      <li class="list__item">
        ...
      </li>
    </ul>
  </li>
</ul>

在这种情况下,我将块 list 放在元素 menu__item 内。

我想知道,这合法吗?

【问题讨论】:

  • 如果你想要 ul class="list" 的命名方案,那么列表应该是一个独立的组件,可以在许多地方使用,而无需父包装器。
  • 我认为只要你的父块对子块内的样式没有任何发言权,就可以在块内使用块

标签: html css bem


【解决方案1】:

根据 BEM 的这份文档,我们可以嵌套块。 IE。一个块中可以有另一个块。 唯一的条件是子块应该独立于父块。

https://en.bem.info/methodology/block-modification/#placing-a-block-inside-another-block

【讨论】:

  • 谢谢,我想我明白了。
【解决方案2】:

是的,它是有效的。请参见Nested Lists 部分中的示例 - https://html.com/lists/

【讨论】:

  • 但这是我正在谈论的 BEM 方法。
猜你喜欢
  • 1970-01-01
  • 2018-06-17
  • 2013-04-01
  • 1970-01-01
  • 2017-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
相关资源
最近更新 更多