背景
1.老项目杂乱的css代码造成的包括但不限于全局样式覆盖,难以全局维护样式,嵌套复杂等待问题 2.开了一个内部组件库的项目,从项目层面上约束css的代码管理
css代码管理
实现一个可复用性高,可读性高,易维护的css代码项目结构
结构
结构纬度上分为项目整体纬度和组件纬度
项目
在根目录下新建一个_style文件夹,用于存放项目纬度的样式文件
- 公用color样式表【color文件夹】
- 公用mixin库【mixin文件夹】
- 公用核心样式库【core文件夹】
- 公用风格样式库【theme文件夹】
组件
-
私有样式库
-
私有mixin库
这里经常会对全局的样式表进行引用
规范
-
对于不同的组件使用不同的通用前缀
为了不使全局变量遭到污染以及更优雅的使用选择器。务必在不同的组件中使用不同的前缀来进行管理
-
变量抽离
这个概念在预编译中无处不在。只要有必要进行复用的同一变量都应该进行变量的抽离
例如:
@white-base: #fff;抽离一个值为白色颜色的变量 -
mixin方法抽离
考验css实现是否优雅的关键。
例如: 我在全局有多次使用等宽高的css样式
.size(@width; @height) { width: @width; height: @height; } .square(@size) { .size(@size; @size); } -
原则上除了color样式表外不出现任何色值
颜色应该期望在color.less中统一管理,其他样式表使用其对应的变量名,有利于整体风格迭代和全局维护
-
命名格式上以-做分割(其实BEM也行,看个人喜好)
-
合理使用css选择器
合理使用css选择器是减少css代码量的关键