问题标签 [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 投票
2 回答
671 浏览

css - BEM 常用样式

在整个站点中定义一般非块特定样式的最佳方法是什么?

例如:

html

萨斯/CSS

如果我希望文本的样式相同,我会(假设我使用预处理器)@extend .text进入.intro__textand.profile__text类,还是只是让整个站点的所有段落都有一个类text

这两种解决方案对我来说似乎都有些不正确。

如果我有一个非常常见的样式,感觉就像我将在我渲染的 css 中复制很多样式(增加文件大小)但是text在我的整个标记中重复所有样式似乎不必要地冗长和不整洁。

这种情况有最佳实践吗?

0 投票
1 回答
1754 浏览

css - BEM 多类选择器

我正在尝试遵循 BEM 命名约定,但不确定如何实现以下内容:我有一个“工具提示”块,应该使用不同的主题进行样式设置。假设我应用了“默认”主题。

工具提示可以放置在不同位置的元素周围,这听起来像是我必须在块中添加“水平位置”和“垂直位置”修饰符。

现在我需要在工具提示上显示一个装饰,这取决于主题及其位置。我想我需要一个多类选择器,但我在 BEM 文档中看不到任何这样的多选择器示例。

BEM规范允许这样做吗?
你能想到任何缺点吗?
我应该尝试重新考虑我的组件以仅使用平面类选择器吗?

0 投票
2 回答
90 浏览

sass - 在 BEM/SCSS 中编写修改选择器的子组件的最佳方法

我想在 SCSS 中以一种优雅的方式来编写 BEM 子组件而不是冗长,并使用父类对其进行修改。

我试过这个,但没有奏效:

但这不起作用,因为它假设我需要的选择器是 .container--red__title

0 投票
1 回答
886 浏览

css - 将 Bootstrap 与 itscss 一起使用

看过 BEM 命名约定。

我真的很想在这些方法中使用 bootstrap sass。

是否可以扩展引导程序以使用 BEM 样式类名称?

例如,我将如何使用 BEM 命名典型的引导导航?

会涉及什么,我应该怎么做?

0 投票
1 回答
1708 浏览

less - 如何让 less 在嵌套条件下生成 BEM 样式的选择器?

它非常适合遵循 BEM 约定的 CSS 样式。Less 也非常适合我们做 CSS 开发工作。通常,我想使用 LESS 嵌套功能来组织我的 CSS。以下是 SASS 如何通过@at-root(嵌套条件下的 BEM 输出)将两者结合在一起

它将被编译成:

我们如何在 LESS 中实现?谢谢~!

0 投票
3 回答
13141 浏览

css - 带 SASS 和 :hover 的 BEM

使用 BEM 和 SASS 声明活动/焦点/悬停状态的正确方法是什么?例如,我有这样的结构:

和 SCSS:

我想在悬停在块上时修改元素。这不起作用:

.project__image只为这一个实例编写整个代码似乎是错误的。

有没有其他方法可以做到这一点?

0 投票
1 回答
798 浏览

css - BEM 中的禁用块

我正在使用 BEM,我想知道如何“禁用”一个块 ( .element)。禁用是指使用不同的 CSS 背景来模拟禁用状态。

我应该创建

并将其应用于

__title?我不确定我的方法是否正确,因为我想覆盖整个块。

0 投票
1 回答
91 浏览

html - 仅 CSS 下拉菜单不显示悬停时的所有元素

我创建了一个带有溢出的纯 CSS 下拉菜单:隐藏,但我在 Chrome 下遇到了一些问题。当我将鼠标悬停在下拉框上时,最初只出现了一部分元素。将光标向下移动到列表后,其余部分也会出现,但有时将鼠标悬停在稍后出现的其余部分将保留在屏幕上,直到我再次将鼠标悬停在下拉列表上。

JSFiddle

我将不胜感激任何帮助。

0 投票
2 回答
1200 浏览

html - BEM 和表单输入

我正在一个新项目(表单页面)中尝试BEM,并且正在寻找标记表单输入的最佳方式。

我有一组常用的单选按钮样式,我认为它们是表单字段“块”的“元素”。所以我给它上课:

单选按钮并不总是 的直接子代.projectField,但它们总是它们的后代。所以:

问题 1:在 BEM 的背景下可以吗?

问题 2:对于特定字段 - 将其称为“颜色”字段 - 我没有标准的单选按钮布局。它们是带有图表的字段的一部分,图表在页面上可视为自己的块,因此我将其放入 div 中:

我应该如何标记单选按钮?他们需要来自基本单选按钮的样式,但也需要他们自己的作为颜色设置字段的一部分。

是这个吗?

也许

到目前为止,我很喜欢 BEM,它迫使我认真思考我的标记,但我不确定该走哪条路。

0 投票
3 回答
1102 浏览

css - 使用 BEM --modifier 有什么好处?

我无法理解使用 BEM --modifier css 命名约定的优势。有人可以告诉我为什么会这样:

比这更好?

使用 BEM --modifier 时,标记显然更加臃肿。