- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经开始在一些项目中使用 BEM,但发现在我的 HTML 中编写有点笨拙。我试图让它变得简单,所以当我为每个元素编写类并使用 JS 应用一些结构时,我必须减少重复自己,这将迫使我正确地做到这一点。输出将类似于:
<div class="intro intro--red">
<h1 class="intro__title">Title</h1>
<p class="intro__p">Text</p>
<p class="intro__p intro__p--red">Text</p>
<a href="#" class="btn btn--red">Link</a>
</div>
但写得更短更简单,例如:
<div b="intro" m="red">
<h1 e="title">Title</h1>
<p>Text</p>
<p m="red">Text</p>
<a href="#" b="btn" m="red">Link</a>
</div>
这样我就可以命名元素,或者如果没有设置,它可以根据 html 元素给我类。这将有望帮助保持我的 sass 美观和干净,并且可以非常快速地打字。我尝试了 basic implementation但我认为可能有更好的方法来做到这一点,或者我可能正在做一些我不应该使用那样的 html 属性的事情?
任何智慧或指点将不胜感激?
最佳答案
我在使用 BEM 时遇到了完全相同的问题。我的解决方案是使我的代码成为 BEM 的一种形式,但不是 100% 符合 BEM 指南。
我做的是这样的:
<div class="intro">
<div class="intro-title">
<p class="red">Some Text</p>
</div>
</div>
所以颜色之类的东西会得到全局帮助器,然后是一堆用于简单样式(如字体大小或间距等)的帮助器。
对于实际的介绍 block ,这是我的 sass 的样子:
Intro.scss
.intro {
&-title {
float: left;
}
}
Helpers.scss
.red {
color: red;
}
如您所见,您可以根据需要深入嵌套 Sass,我保留最多 3 层深度的规则。
这不是 100% 的 BEM 方法,但它是一种形式 :)
希望对你有帮助。
我也会避免将这些自定义属性放在 html 上并使用 JS 解析东西,当涉及到这些东西时,我个人是一个纯粹主义者,HTML 不是为此而设计的,所以我不会使用它。另外,当通过 JS 加载 css 时,潜在的内容会闪烁,同时还要牢记性能。但这完全是您自己的偏好,只是给您一个关于我如何解决这个对我有用的问题的指示。
关于javascript - 如何让 BEM 不那么晦涩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49061371/
我不明白 RSCSS 和 BEM 之间的区别。有人说 RSCSS,有人说 BEM。 请告诉我两者的区别 最佳答案 RSCSS 只是 BEM 的扩展,加上创建它的团队的一些额外想法和经验。 例如 RSC
在 grunt 文件中 stylelint: { all: ['app/styles/**/*.scss'] }, .stylelintrc { "plugins": [
我正在尝试使用 stylelint 对 BEM 样式进行 lint和 stylelint-selector-bem-pattern plugin但无法让它工作。 我的配置如下: 节点:5.11.0 g
我正在学习 HTML BEM (CSS) 架构,即使在观看了一些 youtube 视频后也不太了解。你们中的任何人都可以查看我的一段代码以查看我的类命名是否正确吗?
我正在尝试使用 BEM 命名约定,并且在决定在何处包含特定页面的修饰符时遇到了一些困难。 例如,假设我有一个橙色按钮: Button A 我的元素有 3 个不同的页面: - pageA.html -
我正在尝试返回到 Web 的前端编码。上一次写 CSS 是在 10 年前,那时候有一种病叫 分类炎 .我对 classitis 的理解可能是错误的,但我认为不要在您的 HTML 文档中放置过多的 CS
在使用 BEM 时,我曾被简单的场景搞糊涂过。示例中有一个基本按钮: .button { // styles for button } 及其具有更具体样式的修饰符: .button.butto
Closed. This question is opinion-based。它当前不接受答案。
所以我试图理解 BEM 命名结构。所以假设我有以下 html {{team.name}} {{team.score}}
在整个站点中定义通用非 block 特定样式的最佳方法是什么? 例如: html foo bar 萨斯/CSS .intro__text { } .profile__text
这是一个理论问题,但它现在困扰了我几个小时。 我正在学习 BEM,到目前为止它很棒,但我遇到了问题。假设我有这段代码: Blah Generated from the CMS 如何定位 p
使用 CSS BEM 方法... 假设我有一些 HTML,像这样(这只是为这个问题编写的示例 HTML): Text. Text. Text. Text.
不知道哪个是官方网站,我找到了getbem.com和 en.bem.info . 有人建议使用 -- 作为修饰符(Naming): CSS class is formed as block’s or
我有一个关于 BEM 中通用 block (例如 .button)与媒体查询样式的问题。 BEM 中的 block (如文档所述)应该具有适用于网站上所有元素的通用样式,假设我有一个 block :
我最近开始使用 BEM 来编写可重用的 CSS 组件。在BEM documentation和其他网站,我发现由于显而易见的原因,不鼓励对标签元素进行全局重置。 但是,当我查看基于 BEM 的网站(包括
最近我开始在我的元素中使用 BEM 来组织 CSS,但现在我已经到了这样的 html: TITLE SUBTITLE 由于我对 SMACSS
... 例如,我将它放在 header 中,它不依赖于 header block 。为了使其对 BEM 友好,我倾向于这样做: ... 这是处理 BEM 的
HTML 布局 social icon here social icon here social icon here social icon
我正在尝试遵循 BEM 命名约定,但我不确定如何实现以下内容:我有一个“工具提示” block ,应该使用不同的主题设置样式。假设我应用了一个“默认”主题。 工具提示可以放置在不同位置的元素周围,这
我是 BEM 的新手,正在处理示例模板: HTML Site branding link link
我是一名优秀的程序员,十分优秀!