【问题标题】:Is this more than one class?这不止一堂课吗?
【发布时间】:2019-10-28 11:11:36
【问题描述】:

所以我得到了这段代码,我在教程中使用过。

它是:<div>Navbar__Link Navbar__Link-toggle</div>

我的问题是不得分代表什么?闯入第二节课。 这只是一个奇怪的命名约定,感觉很陌生。

【问题讨论】:

  • 我格式化了您的代码,其中隐藏了“
    ”。你能在人们开始回答之前验证这是否正确吗?
  • 我不确定我是否理解这个问题,但下划线没有显示任何内容。在最好的情况下,更像是惯例,而不是规则。如果下划线或字母a 或任何其他允许的字符,CSS“不在乎”。

标签: css


【解决方案1】:

双下划线是“Block Element Modifier”样式 CSS 中使用的命名约定,用于定义块的子元素。

所以,Link 是 Nav 等的子元素。

this answer

这样做是因为有些人可能会这样命名他们的区块 main_nav 会像这样与单个下划线产生混淆 : main_nav_item

【讨论】:

  • Scott 感谢您直言不讳。没听说过BEM。
    Navbar__Link Navbar__Link-toggle
    我一直在尝试将它们改造成如下类:navbarLink、navbarLinkToggle。这是对的吗。我只是在考虑这个问题。
  • 我实际上也不使用 BEM,这很好,而且是个人喜好问题 - 特别是如果您不处理特别复杂的 DOM 时
猜你喜欢
相关资源
最近更新 更多
热门标签