css – 为什么BEM经常使用两个下划线而不是一个修饰符?

在BEM中,我明白,使用修饰符,两个破折号是有意义的,以便您可以将my-block-my-modifier中的修饰符与my-block-my-modifier进行区分.

但是为什么要使用block_element而不是block_element?

解决方法

双下划线用于定义块的子元素.

即:

<nav class="main-nav">
    <a class="main-nav__item" href="#">Text</a>
</nav>

其中主导航是一个块main-nav__item是一个子元素.

这样做是因为有些人可能会像这样的main_nav命名它们的块,这会造成如下所示的单个下划线的混淆:main_nav_item

因此,双重下划线将澄清如下所示的内容:main_nav__item.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效