CSS系列 - 处理器

124 阅读1分钟

预处理器

增加了一些编程的特性

分类

Sass(SCSS)、LESS、Stylus、Turbine、Swithch CSS、CSS Cacheer、DT CSS

sass

  • ruby
  • “变量”、“混合”、“嵌套”、“继承”、“颜色函数”
  • Compass

less

  • less的变量处理方式为懒加载,所有 LESS 变量的计算,都是以这个变量最后一次被定义的值为准
  • js 需要额外的时间来处理代码

stylus

  • Node JS
  • 语法相对散漫

原理

  • 取到 DSL 源代码的分析树
  • 将含有动态生成相关节点的分析树转换为静态分析树
  • 将 DSL 静态分析树转换为 CSS 的静态分析树
  • 将 CSS 的静态分析树转换为 CSS 代码

优点

  • 提供样式、复用机制
  • 减少冗余代码
  • 提高样式代码的可维护性

缺点

  • 采用特殊语法
  • 框架耦合度高
  • 复杂度高

后处理器

原理

  • 将源代码做为 CSS 解析,获得分析树
  • 对 CSS 的分析树进行后处理
  • 将 CSS 的分析树转换为 CSS 代码

分类

  • Rework
  • PostCSS

优点

  • 使用 CSS 语法
  • 容易进行模块化
  • 贴近 CSS 的未来标准

缺点

逻辑处理能力有限