如果要应用 BEM 命名 是只针对于公用组件还是整个项目都需要~

发布于 2022-09-04 10:57:29 字数 138 浏览 24 评论 0

BEM 在公用组件上用可以很好的保证组件命名的安全 那么如果在公用组件上应用了 BEM 命名规范 在普通的页面样式里也需要引入 BEM 规范吗?

应用了 BEM 是不是应该避免选择器嵌套了?那么一个区域内部元素的命名岂不是只能用一次了.....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲世九天 2022-09-11 10:57:29

在整个项目中都要用到,可以避免选择器嵌套,从而避免了选择器权重过大的问题。不过,如果使用 webpack 的话,更推荐 css module

極樂鬼 2022-09-11 10:57:29

bem有多种实践,并没有唯一的最佳实践。我的做法是:

组件本身只用b,子元素用b-e,基层元素用b-e-m。组件名称尽量简单,比如nav。而且样式也要尽量少,不要试图写全面的、最终的样式代码,因为这样没法复用。全面的样式代码应该在例如.sidebar .nav里覆盖定义,假设sidebar是侧边栏的大容器名称。

还有一种状态类,单独命名,比如.active

组件的父元素和祖先容器的命名不要跟组件产生关联,而且我不对父元素和祖先元素使用bem,我只用单一字表示class,因为这已经足够用,因为单字后面写级联元素,也是一种变相的bem。

最后,要减少层级,删除不必要的层级,也删除不必要的class。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文