CSS24:CSS预处理器

        CSS 层叠样式表是一门标记语言,并不是编程语言,因此不可以自定义变量,不可以引用等,换句话说就是不具备任何语法支持,它主要缺陷如下:

  • 语法不够强大,比如无法嵌套书写,导致模块化开发中需要书写很多重复的选择器;
  • 没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护;

        这就导致了我们在工作中无端添加了许多工作量。为了解决这个问题,前端开发人员会使用一种称之为【CSS预处理器】的工具,提供 CSS 缺失的样式层复用机制,减少冗余代码,提高样式代码的可维护性。大大提高了前端在样式上的开发效率。

什么是 CSS 预处理器

        CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行 CSS 的编码工作。转化成通俗易懂的话来说就是“用一种专门的编程语言,进行 Web 页面样式设计,再通过编译器转化为正常的 CSS 文件,以供项目使用”

常见的预处理器

  • Sass:最早(2007年)的 CSS 预处理器语言,基于 Ruby,通过服务器端处理,功能强大。解析效率高。文件后缀 .sass,Sass3.0 新版语法规则可以使用 .scss 后缀。官网:Sass教程 Sass中文文档 | Sass中文网

        Sass 和 Scss 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点:

        1、文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 Scss 是以“.scss”后缀作为扩展名

        2、语法书写方式不同,Sass 是以严格的缩进式语法规则来写,不带大括号({})和分号(;),而 Scss 的语法书写和 CSS 语法书写方式无差别。

/* Sass 定义变量(新旧版相同) */
$font-color: #333;

/* style.sass 老语法 */
p
    color: $font-color
   
/* style.scss  sass3.0新版语法规则,sass新版使用.scss后缀 */
p {
    color: $font-color;
} 
上一篇:js 面试题 a.x = a = { n: 2 }


下一篇:高频前端面试题汇总js篇【上】