【发布时间】:2018-02-27 06:55:32
【问题描述】:
我最近开始使用 BEM 来编写可重用的 CSS 组件。在BEM documentation 和其他网站中,我发现不鼓励对标签元素进行全局重置,原因很明显。
但是,当我查看基于 BEM 的网站(包括 BEM 文档网站)的源代码时,我通常会看到 p 标签无类,这意味着它们确实使用重置或嵌套选择器来为它们提供适当的字体大小或边距。
因此,我对现在应该采用什么方法感到困惑。在我看来,在这种情况下,创建一个paragraph 类并将其附加到p 标签将是正确的方法。可以通过实现额外的布局组件来设置所需的边距来解决进一步的定位问题?
有什么建议吗?提前谢谢?
【问题讨论】:
-
确实,有时有必要不遵守教义。 ;)
-
也就是说,可以使用全局重置吗? BEM 的重点不就是创建可重用的独立组件吗?大声笑
-
您可以声明您的 BEM 组件只能在全局重置的上下文中重复使用。它没有那么坏。我就是这么做的。
-
我相信全局重置的目的是设置应用程序其余部分可以遵循的一致样式基线。至于覆盖标签,我认为如果它在一个地方的顶层下降一次并且保持一致的语义使用是可以的。例如,为段落保留使用
<p>。除了初始全局重置以建立全局基线外,不要覆盖标签。相反,使用可以使用 BEM 来定义特定于组件的样式。重置和 BEM 兼容。重置就像耕种田地,BEM 组件是您选择在其中种植的作物。 -
感谢你们的反馈。还有一件事,您是否还会将基本边距应用到
标签或创建布局组件以正确对齐它们?