问题标签 [bem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5036 浏览

css - BEM 和 SUIT CSS 命名约定的区别

BEMSUIT CSS 命名约定有什么区别?

0 投票
2 回答
793 浏览

css - SASS BEM 扩展

我正在尝试将 bem 语法与 sass 一起使用,但我遇到了一个问题。

这是代码:

当我的 css 被编译时,我有这个:

我想要这个:

事实上,当有修饰符时,从我的块按钮扩展,我想要所有样式、修饰符和元素。我不想这样做:

0 投票
1 回答
1800 浏览

css - 带有专用组件的 BEM 样式命名

使用 BEM 命名约定,应该如何处理组件是基础组件的特殊化的情况?(我在这里使用 Nicholas Gallagher 的变体)。

因此,假设我有一组table元素的默认样式和一个更专业的表,其类为DataTable

我现在有一个专门化的表格,DataTable对单元格进行了各种调整:

这意味着我的 SpecialTable 看起来像这样:

这是对表格进行分类的正确方法吗?

0 投票
1 回答
207 浏览

html - 与嵌套 Bem 类混淆

我有一个带有嵌套类的标题。我怎样才能写班级名称?

以下是正确的吗?

0 投票
2 回答
5570 浏览

css - 使用 BEM 时命名包装器元素类

我知道在使用 BEM 时,类名不应该直接反映 HTML 结构,但是应该如何命名包装器元素?请忽略我的特殊语法(接近SUIT);它仍然遵循 BEM,只是采用了不同的方式来区分元素。

例如:

我目前将这个实例中的包装器归类为PageFooterWrapper,但这感觉很笨拙,因为包装器不是独立的 - 它纯粹是为PageFooter. 显然,在所有内容前加上前缀PageFooter-是荒谬的,因此只能将包装器视为 : 的PageFooter一部分PageFooter-wrapper。这让我很恼火,因为这有一个隐含的建议。

那么包装器的类应该是什么?

0 投票
1 回答
784 浏览

css - 选择 CSS/LESS 中的所有 BEM 修饰符

我有以下 HTML 结构:

我想全选item__status*,但似乎无法在 LESS 中完成。到目前为止,我已经尝试过:

知道如何选择所有类而不创建单独的类吗?

0 投票
2 回答
761 浏览

css - 如何使用 BEM 命名导航栏结构?

我有以下 SASS 代码。

如果使用 BEM 方法,我将如何做完全相同的事情?

0 投票
3 回答
355 浏览

css - 使用 BEM 更改超链接颜色

我今天第一次尝试 BEM。

为什么我的链接颜色与默认颜色没有区别?

真的应该是黄色的吧?

0 投票
2 回答
848 浏览

css - 如何避免在 BEM 级联中重复父类名?

示例代码(我知道可以重写什么以避免级联,但我将其编写为示例。这段代码不是真正的问题,我可以用另一种方式解决,这只是说明):

它被编译为:

我想将选择器更改为@at-root .b-list__item.-active &
类似@at-root &__item.-active & {…}
避免重复父类名的东西,但它在 Sass 中不起作用:

此代码不起作用:

那么,有办法做我想做的事吗?

0 投票
2 回答
836 浏览

css - BEM 和单一选择器

这是一个理论上的问题,但它现在困扰了我几个小时。

我正在学习 BEM,到目前为止它很棒,但我有一个问题。假设我有这个代码:

我如何定位p以使其与 BEM 相得益彰?我可以一起去吗

或者这会违反规则?我找不到任何答案,因为关于 BEM 的每个示例和文章都只关注类,我不能指望我的 CMS 为每组段落添加不同的类。