他们是css预处理器。他是css上的一种抽象层。他们是一种特殊的语法/语言编译成css sass是一种动态样式语言,sass语法属于缩排语法,比css多出功能(变量,嵌套,运算,继承,颜色处理,函数等)更容易阅读。scss用{}取代了原来的缩进。 less也是一种动态样式语言,变量,继承,运算,函数。既可以在客户端上运行(IE6+,Webkit,Firefox),也可以在服务器端运行(借助Node.js)。 区别: 编译环境不一样,sass Ruby环境,在服务端处理,less需要引入less.js来处理输出css到浏览器,也可以在开发环节中使用less然后后编译成css文件。 Sass 变量符号$,less变量符号@ less和sass中的变量会随着作用域的变化而不同 less没有输出设置,sass输出选项:nested(嵌套缩进 的css代码),compact(展开的多行css代码),compressed(简介格式 的css代码),expanded(压缩后的css代码) sass支持条件语句,可以使用if{} else{} for{} 循环等待。而less不支持。 sass引入外部文件以_开头, less引用外部文件和css中的@import没什么差异。 sass有工具库compass,less有UI组件库Bootstrap。 Sass功能比less强大,less则相对清晰明了,易于上手,对编译环境要求比较宽松。 结构清晰,便于扩展,可以方便屏蔽浏览器私有语法差异,封装对浏览器语法差异的重复处理,减少无意义的机械劳动。可以轻松实现多重继承。完全兼容CSS代码,可以方便的应用到老项目中。Less只是在css语法上做了扩展,所以老的css代码可以与less代码一同编译。