css - 正确使用方块和修饰符
问题描述
我有一个网站,我已经实现了 ABEM(BEM 的替代品,具有原子设计命名系统),现在经过长时间的编码狂欢,我的大脑非常混乱......我有一个命名问题<div>
我有一个我命名的块:.a-pipe
里面有一些文本和一些样式。由于使用了许多不同的“管道”变体,我现在使用修饰符来改变它的颜色。所以即:.--grey
, .--blue
, .--green
. 现在有了这个以及我对使用块、元素和修饰符的困惑,我遇到了以下问题:是否应该.a-pipe
是一个块,如果是,那么该块的变体是否应该有修饰符来改变颜色和其他样式?
的HTML:
<div class="a-pipe --grey">some normal text <span class="a-pipe --lgText">Some larger text</span></div>
<div class="a-pipe --green">some normal text <span class="a-pipe --lgText">Some larger text</span></div>
CSS:
.a-pipe {
padding: 10px 3.5rem 10px 0;
border-radius: 0px 10rem 10rem 0px / 0px 8.1rem 8.1rem 0px;
text-align: right;
color: white;
}
.a-pipe.--green {
background-color: green;
}
解决方案
推荐阅读
- gnuplot - Gnuplot,具有不同调色板的多个splots
- javascript - 如何在 PHP/NodeJS 中将可编辑的 PDF 转换为不可编辑的 PDF?
- php - 如何在 Laravel 中运行一个独立的 PHP 脚本?
- typescript - 如何通过 Cloud Functions HTTP 请求检查 Firebase 规则用户权限
- android - 安装 Cordova 和 ionic 的问题
- xslt - 将日期从时区转换为 UTC XSLT 1.0
- laravel - 在 laravel 中获得多对多关系计数的最佳有效方法是什么?
- ruby-on-rails - Ruby / Rails:如何以清晰的方式格式化这种密集的数据结构?
- php - 为什么我的 curl 请求显示的结果与浏览器不同?
- angular - Angular APP_INITIALIZER 工厂中的 InjectionToken