npm 包 styled-components-bem 使用教程

阅读时长 5 分钟读完

如果你是一个前端工程师,你可能已经使用过 styled-components 这一 React 的样式库,它可以让你在 React 应用程序中编写 CSS,并且可以让你在组件内部轻松地定义和重用样式。但是,当你写更大的应用程序并且需要更好地组织你的 CSS 时,BEM(块元素修饰符) 可能会更适合你的需求,它是一种 CSS 命名约定,可以使你的 CSS 更具可维护性和可复用性。

在本文中,我们将介绍 npm 包 styled-components-bem,它将 BEM 与 styled-components 集成在一起,可以让你更好地组织你的 CSS。

安装和使用

在使用 styled-components-bem 之前,你需要先安装 styled-components。如果你还没有安装,可以运行以下命令:

然后,你可以安装 styled-components-bem:

styled-components-bem 提供了一些辅助函数,可以让你更方便地定义 BEM 样式。我们来看一个简单的例子:

-- -------------------- ---- -------
------ ----- ---- --------
------ - --- - ---- ------------------------
------ ------ ---- --------------------

----- --------- - -----------
  ---------------
    ---------- -
      ------------ -----
    -
    ----------- -
      ------ ----
    -
  --
--

------ ------- -------- ----- -
  ------ -
    ---------- ------------------
      ---- --------------------------------- ------------
      ---- ------------------------- --------------------------
        ------ ----- ---- ---------
      ------
    ------------
  --
-

在上面的示例中,我们首先导入必要的库,然后定义一个 StyledDiv 组件,并使用 bem 辅助函数定义了一个 BEM 样式。样式由两个块组成:&__element&--modifier。然后我们通过组件的类名来应用这些样式,另外我们将 block 作为 StyledDiv 的类名,这样 bem 就知道将这些样式应用于哪个块。

这里有两个组件,一个 div,另一个是带有 --modifierdiv。使用 BEM 规则,我们可以将它们放入一个块 block 中,然后应用样式。

BEM 样式

BEM 规则中有三个元素:块(block)、元素(element)和修饰符(modifier)。

块是一个独立的实体,可以在网页上出现任意多次。例如,在一个导航条中,每个导航项都可以组成一个块。

元素是块中的一部分,如导航条的文字或菜单项的图标等。元素总是跟随在它所属的块后面,然后由两个下划线(__)来连接。

修饰符用于指示块或元素的某个状态或变化。修饰符是通过两个连字符(--)来连接的。例如,我们可以使用一个名为 inactive 的修饰符来显示一个导航项被禁用的状态。

在 BEM 中,使用这些元素名称定义类名:.block 表示一个块,block__element 表示块中的元素,block--modifier 表示块的修饰符。

styled-components-bem 辅助函数

styled-components-bem 提供了一些辅助函数,可以让你更方便地定义 BEM 样式。这里是一些常用的辅助函数:

  • bem(block):定义一个新的块,块名为 block。返回一个模板字符串,你可以在其中定义元素和修饰符。

  • bem(element):定义一个新的元素,元素名为 element。返回一个模板字符串,你可以在其中定义修饰符。

  • bem.modifier(modifier):定义一个修饰符,修饰符名为 modifier。返回一个模板字符串,你可以在其中定义样式。

这些函数应该在样式定义中一起使用,以定义你的块、元素和修饰符。例如bem("block") 定义块,bem("block__element") 定义块中的元素。有了这些辅助函数,你可以更简单地编写 BEM 样式。

总结

styled-components-bem 是一个很好的 npm 包,可以让你更好地组织你的 CSS,使你的应用程序更具可维护性和可复用性。通过使用它提供的 BEM 辅助函数,你可以更方便地定义 BEM 样式,让你的 CSS 更加简洁易读。如果你正在为你的 React 应用程序编写 CSS,不妨试试 styled-components-bem。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672593660cf7123b3637f

纠错
反馈