[TOC] # CSS预编译 CSS预编译的工作原理是提供便捷的语法和特性供开发者编写源代码,随后经过专门的编译工具将源码转化为CSS语法。最早的CSS预编译器是2007年起源于Ruby on Rails社区的SASS,目前比较流行的其他CSS预编译器如Less、Stylus的诞生都一定程度上受到了SASS的影响和启发。 CSS预编译器几乎成为现如今开发CSS的标配,它从以下几个方面提升了CSS开发的效率: 1. 增强编程能力; 2. 增强可复用性; 3. 增强可维护性; 4. 更便于解决浏览器兼容性。 不同的预编译器特性虽然有所差异,但核心功能均围绕这些目标打造,比如: 1. 嵌套; 2. 变量; 3. mixin/继承; 4. 运算; 5. 模块化; 嵌套是所有预编译器都支持的语法特性,也是原生CSS最让开发者头疼的问题之一;mixin/继承是为了解决hack和代码复用;变量和运算增强了源码的可编程能力;模块化的支持不仅更利于代码复用,同时也提高了源码的可维护性。