ChefIsAwesome
2019-09-21 14:47:20 +08:00
css 大体可以分几部分:
1.直接针对 HTML 的。像 reset,或者富文本的样式。
2.grid,gutter,margin-left-5 这种 layout 相关。或是 round-corner,box-shadow-5 这些所谓 atomic design 的样式。他们都跟具体组件没什么关系。
3.强制字号,强制文字颜色,强制隐藏,跟具体组件没什么关系,甚至是专门用来覆盖固有样式的工具类。
4.通用 UI 组件。按钮,对话框之类的。
5.没什么通用性的,具体的 UI。像页面布局之类的。
1,2,3 必须是写在全局的 css 文件里的。因为是全局的,相应的 BEM 之类的命名方法肯定是要用的。
4 写哪都行。但是要注意的是我们写任何 module,除了 close 来隔绝外界,还得 open for extension。有没有 open 的需求,怎么设计 open,看你自己的想法了。
5 没什么通用性,写在 scoped css 里或者 style 里都是比较好的选择。这里仍然可能有复用样式的需求。css 可以用 mixin,style 就是对象,拆出来直接就能复用了。
我想要做一个可以定制的组件怎么办?
看你想暴露哪些接口,提供多大的定制性。css 的接口只有俩:class,css properties。