scss

SASS 是一款 CSS 预编译器
Scss 其实是 Sass 3 为了兼容 CSS 引入的新语法。
最早的 Sass 语法格式,被称为 缩进格式 (Indented Sass) 通常简称 “Sass”,是一种简化格式。它使用 “缩进” 代替 “花括号” 表示属性属于某个选择器,用 “换行” 代替 “分号” 分隔属性,很多人认为这样做比 SCSS 更容易阅读,书写也更快速,比如上面这段样式用sass的语法可以这样写:

#sidebar
  width: 30%
  background-color: #faa

Sass和Scss的大部分扩展,例如变量、parent references 和 指令都是一致的;唯一不同的是,SCSS 需要使用分号和花括号而不是换行和缩进。 比如上面这段样式用Scss的语法写的话看起来和CSS的写法是一样的:

#sidebar {
  width: 30%;
  background-color: #faa;
}

变量
SassScript 最普遍的用法就是变量,变量以美元符号”$”开头,赋值方法与 CSS 属性的写法一样:

$width: 10px;

使用变量:

#main {
  width: $width;
}

如果变量类型为字符串,一般不需要加引号,但是有些特殊情况,比如字符串中有双斜杠“//”,就需要用英文输入法状态下的单引号或者双引号包裹字符串,用引号的写法:
因为在Sass中双斜杠表示单行注释。

除了简单的赋值,Sass中变量还可以定义类似数组的变量:

$animals: puppy kitty chick;

简单计算

$width: 10px;

#main {
  width: $width / 2;
  height: $width * 2;
}

插值法

$name: "mail";
$top-or-bottom: "top";
$left-or-right: "left";

.icon-#{$name} {
  background-image: url("/icons/#{$name}.svg");
  position: absolute;
  #{$top-or-bottom}: 0;
  #{$left-or-right}: 0;
}

嵌套
Sass 允许将一套 CSS 样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器,比如:
在这里插入图片描述
父选择器 &
在嵌套 CSS 规则时,有时也需要直接使用嵌套外层的父选择器,例如,当给某个元素设定 hover 样式时,可以用 & 代表嵌套规则外层的父选择器,比如:
在这里插入图片描述
在这里插入图片描述
复用:mixin/include

<div class="user-avatar square">...</div>
<div class="admin-avatar square">...</div>

过去,在css中我们可以通过复用类名,来实现代码的复用:

.square {
  width: 100px;
  height: 100px;
}

现在,我们试着用Sass 的mixin/include来解决复用问题:

@mixin square {
  width: 100px;
  height: 100px;
}

// 应用:
.user-avatar {
  @include square;
}
.admin-avatar {
  @include square;
}

有参数混合

@mixin square($size) {
  width: $size;
  height: $size;
}

// 应用
.avatar {
  @include square(100px);
}

参数有默认值

@mixin square($size: 100px) {
  width: $size;
  height: $size;
}

// 不传参数就会使用默认的值 100px
.avatar {
  @include square;
}

// 传入参数就会使用传入的值 200px
.avatar-200 {
  @include square($size: 200px);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值