Sass - 面试问题


亲爱的读者,这些SASS 面试问题是专门为让您熟悉在SASS主题面试过程中可能遇到的问题的性质而设计的。根据我的经验,好的面试官几乎不会计划在面试过程中提出任何特定问题,通常问题从主题的一些基本概念开始,然后根据进一步的讨论和你的回答继续 -

SASS(Syntropically Awesome Stylesheet)是一个 CSS 预处理器,有助于减少 CSS 的重复并节省时间。它是更稳定、更强大的 CSS 扩展语言,能够清晰、结构化地描述文档的风格。

  • 它是一种预处理语言,为 CSS 提供缩进语法(它自己的语法)。

  • 它允许更高效且易于维护地编写代码。

  • 它是 CSS 的超级集合,包含 CSS 的所有功能,并且是一个开源预处理器,用Ruby编码。

  • 它以比平面 CSS 更好的结构格式提供文档样式。

  • 它使用可重用的方法、逻辑语句和一些内置函数,例如颜色操作、数学和参数列表。

  • 它更稳定、更强大并且兼容CSS版本。

  • 它是 CSS 的超级集合,并且基于 JavaScript。

  • 它被称为 CSS 的语法糖,这意味着它为用户提供了更轻松的方式来更清晰地阅读或表达事物。

  • 它使用自己的语法并编译为可读的 CSS。

  • 您可以在更短的时间内轻松地用更少的代码编写 CSS。

  • 它是一个开源预处理器,可解释为 CSS。

  • 它允许在编程结构中编写干净的 CSS。

  • 它有助于更​​快地编写 CSS。

  • 它是 CSS 的超集,可帮助设计人员和开发人员更高效、更快速地工作。

  • 由于 Sass 与所有版本的 CSS 兼容,因此我们可以使用任何可用的 CSS 库。

  • 可以使用嵌套语法和有用的函数,例如颜色操作、数学和其他值。

  • 开发人员需要时间来学习该预处理器中的新功能。

  • 如果在同一站点上工作的人数较多,则将使用相同的预处理器。有些人使用Sass,有些人使用CSS直接编辑文件。因此,使用站点将变得困难。

  • 有可能会失去浏览器内置元素检查器的优势。

SASS 支持两种语法,即SCSS缩进语法。

  • SCSS (Sassy CSS)是 CSS 语法的扩展,它使维护大型样式表变得更加容易,并且可以识别供应商特定的语法和许多 CSS。SCSS 文件使用扩展名.scss

  • 缩进是一种较旧的语法,有时简称为Sass。使用这种形式的语法,可以简洁地编写 CSS。SASS 文件使用扩展名.sass

您可以通过三种不同的方式使用 SASS -

  • 作为命令行工具

  • 作为 Ruby 模块

  • 作为 Rack 启用框架的插件

嵌套是不同逻辑结构的组合。使用 SASS,我们可以将多个 CSS 规则组合在一起。如果您使用多个选择器,则可以在另一个选择器中使用一个选择器来创建复合选择器。

您可以使用&字符选择父选择器。它告诉父选择器应该插入到哪里。

SASS 支持使用id选择器的占位符选择器在普通 CSS 中,它们用“ # ”或“ . ”指定,但在 SASS 中它们被替换为“ % ”。

有 5 种类型的操作 -

  • 数字运算

  • 颜色操作

  • 字符串操作

  • 布尔运算

  • 列表操作

它允许进行数学运算,例如加法、减法、乘法和除法。

它允许使用颜色分量和算术运算。

列表表示一系列使用逗号或空格分隔的值。

您可以使用 and、or 和 not 运算符对 Sass 脚本执行布尔运算。

括号是一对符号,通常用圆括号 ( ) 或方括号 [] 分隔,提供影响运算顺序的符号逻辑。

它使用#{ }语法在选择器和属性名称中提供 SassScript 变量。您可以在花括号内指定变量或属性名称。

您可以通过在变量值末尾添加!default标志来设置变量的默认值。如果该值已分配给该变量,则不会重新分配该值。

它直接获取要导入的文件名,所有导入的文件将合并在一个 CSS 文件中。

它为不同的媒体类型设置样式规则。

它用于共享选择器之间的规则和关系。它可以扩展一个类中的所有其他类样式,也可以应用自己的特定样式。

它是嵌套规则的集合,能够在文档的根部创建样式块。

它用于根据表达式的计算结果有选择地执行代码语句。

@else if 语句与 @if 指令一起使用,每当 @if 语句失败时,就会尝试 @else if 语句,如果它们也失败,则执行 @else。

它允许您在循环中生成样式。计数器变量用于设置每次迭代的输出。

在 @each 指令中,定义了一个变量,其中包含列表中每个项目的值。

它用于定义 mixin,其中可以选择在 mixin 名称后面包含变量和参数。

它用于在文档中包含 mixin,并且 mixin 定义的样式可以包含到当前规则中。

SassScript 值可以作为 mixin 中的参数,这些参数在包含 mixin 时给出,并且可以作为 mixin 中的变量使用。

有两种类型的 mixin 参数 -

  • 关键字参数

  • 变量参数

它用于在 mixin 中包含参数。命名的参数可以按任何顺序传递,并且可以省略参数的默认值。

变量参数用于将任意数量的参数传递给 mixin。它包含传递给函数或 mixin 的关键字参数。

使用函数指令,您可以创建自己的函数并在脚本上下文中使用它们,或者可以与任何值一起使用。

SASS生成的CSS文件由反映文档结构的默认CSS样式组成。默认 CSS 样式很好,但可能并不适合所有情况。

嵌套样式是SASS的默认样式。当您处理大型 CSS 文件时,这种样式设置方式非常有用。

在扩展输出样式中,每个属性和规则都有自己的行。与嵌套 CSS 样式相比,它需要更多空间。

紧凑的 CSS 样式比 Expanded 和 Nested 占用的空间更少。它主要关注选择器而不是其属性。

与所有其他样式相比,压缩 CSS 样式占用的空间最少。它仅在文件末尾提供空格来分隔选择器和换行符。

  • 它使用缩进而不是{}来分隔块。

  • 为了分隔语句,它使用换行符而不是分号(;)

  • 属性声明和选择器必须放在自己的行上,并且{}中的语句必须放在新行上并缩进

  • 它使用缩进而不是{}来分隔块。

  • 为了分隔语句,它使用换行符而不是分号(;)

  • 属性声明和选择器必须放在自己的行上,并且{}中的语句必须放在新行上并缩进

CSS 属性可以通过两种方式声明 -

  • 属性的声明方式与 CSS 类似,但没有分号(;)

  • 冒号(:)将作为每个属性名称的前缀。

您可以使用 = 表示 @mixin 指令,使用 + 表示 @include 指令,这需要更少的输入,并使您的代码更简单、更易于阅读。

sass --watch C:\ruby\lib\sass\style.scss:style.css

注释占据整行并包含嵌套在其下的所有文本,并且它们是基于行的缩进语法。

sass 输入.scss 输出.css

  • 首先它检查 Unicode 字节,然后检查@charset声明,然后检查 Ruby 字符串编码。

  • 接下来,如果未设置任何内容,则它将字符集编码视为UTF-8

  • 使用@charset声明显式确定字符编码。只需在样式表的开头使用“@charset编码名称”,SASS就会假设这是给定的字符编码。

  • 如果SASS的输出文件包含非ASCII字符,那么它将使用@charset声明。

Sass 支持两种类型的注释 -

  • 多行注释- 这些注释是使用 /* 和 */ 编写的。多行注释保留在 CSS 输出中。

  • 单行注释- 这些注释是使用//后跟注释编写的。CSS 输出中不保留单行注释。

它使用命令行评估 SassScript 表达式。您可以使用 sass 命令行和 -i选项运行 shell 。

它检测错误并将 SassScript 表达式值显示到标准错误输出流。

它将 SassScript 表达式值显示为致命错误。

下一步是什么?

此外,您可以回顾一下您过去完成的有关该主题的作业,并确保您能够自信地谈论它们。如果你比较新鲜,那么面试官不会期望你会回答非常复杂的问题,而是你必须使你的基本概念非常强大。

其次,如果您不能回答几个问题,这并不重要,但重要的是,无论您回答什么,您都必须充满信心地回答。所以在面试时要保持自信。我们在tutorialspoint 祝您好运,拥有一位优秀的面试官,并祝您未来一切顺利。干杯:-)