什么是 BEM
BEM 是一种类名命名规范,全称为 Block Element Modifier。它是一种用于前端开发的规范化 CSS 类名的标准化方法,可以让你的代码更具可读性、可维护性和可重用性。
BEM 的命名思路是将一个页面元素拆分为独立的组成部分,即 “块”、“元素” 和“修饰符” 等组成部分,并用双下划线 "__" 和双中划线 "--" 来连接它们。下面是 BEM 命名的示例:
<div class="block"> <div class="block__element"> <div class="block__element--modifier"></div> </div> </div>
从上面的代码中可以看出,这个示例中的块名为 “block”,元素名为 “element”,修饰符名为“modifier”。
Sass 如何保持 BEM 风格
当我们使用 Sass 开发时,为了保持 BEM 的风格,我们需要有效地利用嵌套、继承和 mixin 等功能。下面是一些示例:
基本嵌套
在 Sass 中,我们可以使用基本的嵌套来表示 BEM 结构。例如:
.block { &__element { &--modifier { // ... } } }
上述代码所示的是基本的 Sass 代码结构,与 BEM 规范相匹配。请注意,这个例子中使用了“&”符号,这个符号表示“引用当前节点”。这样就可以将 BEM 结构在 Sass 中轻松重现。
继承
如果您有一些块或元素共享相同的样式,您可以将这些样式提取到公共类中,并在需要的地方继承它。例如:
.block { &__element { // 定义公共类 @mixin basic-styles { display: block; width: 100%; } // 继承公共类 &--modifier { @include basic-styles; background-color: red; } } }
上述代码所示的是如何使用 mixin 来定义并继承公共类。这些公共类可以在您的代码库中重复使用,从而提高 CSS 代码的重用性。
Mixin
如果我们需要在同一块中重复使用相同的样式,则可以使用 mixin 功能。例如:
@mixin block { display: block; width: 100%; } .block { @include block; &__element { @include block; } }
上述代码所示的是如何使用 mixin 来定义块中的公共类。这些公共类可以被其他元素和块重复使用,提高代码的可重用性。
总结
BEM 是一种命名规范,可以使我们的代码更具可读性、可维护性和可重用性。在使用 Sass 时,通过利用嵌套、继承和 mixin 等功能,我们可以轻松地实现 BEM 的风格,并使我们的代码变得更加优雅和易于维护。在前端开发的实践中,BEM 和 Sass 是两个不可或缺的工具,将它们相结合,可以让我们的代码更加高效、优雅和扩展。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65b1dc5eadd4f0e0ffb0f1f9