引导

写CSS并不难,但是要写出可长期维护、不易被他人吐槽的CSS很难。

抛出问题

在日常CSS的编写(也包括使用了预处理工具)的过程中,我们经常会遇到如下几个主要问题:

  • 难以复用:很多样式相似,但往往就差那么点边距,差点大小跟字体颜色或者布局有区别,然后就需要C/V操作后再修改了,样式难以直接复用。
  • 命名冲突:由于CSS样式具有全局性,在复杂项目中,有时候会出现命名冲突,容易导致样式错乱的情况,并且这种情况较难debug。
  • 选择器及层级结构混乱:为了避免样式冲突,有些人会使用多层选择器来保证样式的依赖,但往往导致选择器层级过高而较难维护,同样也导致样式权重过高而难以调整;
  • 权重混乱:id、@important的使用,选择器的混乱往往容易导致样式权重混乱而难以维护;同样的,选择器的权重混乱和命名混乱也会导致代码的可读性很差。

这些问题在复杂性项目,特别是多人协作项目中尤为明显。Moo-CSS目的在于解决上述问题,以方便前端更好得开发CSS。

解决方案

多年以来,从BEM、SAMCSS等写法规范到近年来随着组件化框架发展而广泛使用的css modules和css in js,这些方案或者工具都旨在解决以上问题。Moo-CSS在这些基础上给出了一套CSS开发规范策略。


目录