Sass:语法

在本章中,我们将研究SASS语法。SASS支持两种语法,即SCSS缩进语法

  • SCSS(Sassy CSS是CSS语法的扩展。这意味着每个有效的CSS也是有效的SCSS。SCSS使维护大型样式表变得更加容易,并且可以识别特定于供应商的语法。许多CSS和SCSS文件都使用扩展名.scss
  • 缩进-这是较旧的语法,有时也称为SASS。使用这种形式的语法,可以简洁地编写CSS。SASS文件使用扩展名.sass

SASS缩进语法

SASS缩进语法或仅SASS是基于CSS的SCSS语法的替代方法。

  • 它使用缩进而不是{and}来分隔块。
  • 为了分隔语句,它使用换行符代替分号(;)
  • 属性声明和选择器必须放在自己的行上{and}中的语句必须放在新行上缩进

例如,考虑以下SCSS代码:

.myclass {
   color = red;
   font-size = 0.2em;
}

缩进语法是一个较旧的语法,这是不建议在新的Sass文件中使用。如果使用此文件,它将在CSS文件中显示错误,因为我们使用了=而不是设置属性和变量。

使用以下命令编译以上给定的代码-

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

接下来,运行上面的命令;它将在style.css文件中显示错误,如下所示-

Error: Invalid CSS after "  color = red": expected "{", was ";"
      on line 2 of C:\ruby\lib\sass\style17.scss

1:.myclass {
2:   color = red;
3:   font-size = 0.2em;
4:}

SASS的语法差异

大多数CSS和SCSS语法在SASS中均可正常运行。但是,存在一些差异,以下各节将对此进行解释:

属性语法

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

  • 可以类似于CSS声明属性,但不使用分号(;)
  • 每个属性名称前都会加上冒号(:)

例如,您可以写成-

.myclass
   :color red
   :font-size 0.2em

默认情况下,可以使用以上两种方法(不带分号的属性声明和以属性名开头的冒号)。但是,使用:property_syntax选项时,只能指定一种属性语法。

多行选择器

使用缩进语法,选择器只要出现在 逗号后就可以放在换行符上。

以下示例描述了SCSS文件中多行选择器的用法:

<html>
   <head>
      <title>Multiline Selectors</title>
      <link rel = "stylesheet" type = "text/css" href = "style.css" />
      <link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
      <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
   </head>
   
   <body>
      <h2>Example using Multiline Selectors</h2 >
      <p class = "class1">Welcome to Tutorialspoint!!!</p>
      <p class = "class2">SASS stands for Syntactically Awesome Stylesheet...</p>
   </body>
</html>

接下来,创建文件style.scss。请注意.scss扩展名。

style.scss

.class1,
.class2{
   color:red;
}

您可以使用以下命令,让SASS监视文件并在SASS文件更改时更新CSS:

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

接下来,执行上面给定的命令,它将使用以下代码自动创建style.css文件:

生成的style.css如下所示-

style.css

.class1,
.class2 {
   color: red;
}

输出

让我们执行以下步骤,看看上面给出的代码如何工作:

  • 将上面给定的html代码保存在multiline_selectors .html文件中。
  • 在浏览器中打开此HTML文件,显示如下所示的输出。
Sass:语法

Comments

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

@ import

在SASS中,@ import指令可以带/不带引号。与SCSS不同,它们必须与引号一起使用。

例如,在SCSS中,@ import指令可用作-

@import "themes/blackforest";
@import "style.sass";

可以用SASS编写为-

@import themes/blackforest
@import fontstyle.sass

混合指令

SASS支持@mixin@include之类的指令的简写。可以使用=+字符来代替@mixin@include,这需要较少的键入并使代码更简单且更易于阅读。

例如,您可以将mixin指令编写为-

=myclass
   font-size: 12px;
p
   +myclass

上面给出的代码与-

@mixin myclass
   font-size: 12px;
p
   @include myclass

弃用的语法

SASS支持使用某些旧语法。但是,不建议在SASS中使用此语法。如果使用此语法,将显示警告,并且在更高版本中将其删除。下表显示了一些旧语法。

序号运算符和说明
1个=
将变量和属性设置为SassScript的值时,使用它代替了:。
2|| =
每当您要分配变量的默认值时,就用它代替:。
3!
代替$,!用作变量前缀。使用$代替$时,功能不会改变。

作者:terry,如若转载,请注明出处:https://www.web176.com/sass/1738.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年2月4日 下午3:06
下一篇 2021年2月4日 下午3:19

相关推荐

发表回复

登录后才能评论