Skip to content

Command

引入

  • @use
  • @forward
  • @import(即将废弃)
scss
/*
 * 引入规则
 * 引入变量,但当前模块被其它 scss 引用时不会向外转发引入的变量
 * 支持引用css
 * 省略 as 时,默认取 fileName 作为命名空间
 * 不需要命名空间时,as *
 */
@use "./path/fileName.scss" as *;
/**
 * 引入规则
 * 转发变量,这些变量在当前模块不能使用,其它模块引用此模块时才可用
 * 可用 as 为当前为转发的变量添加前缀
 * 省略 as 时,引用的变量没有前缀
 */
@forward "./path" as head-*;
/**
 * 变量名以中划线开头时,该变量为私有变量,不会被其它scss引入
 */
$-var: 10px;
/**
 * 不能直接导入css
 */
@import "@/assets/scss/index.scss";

混合器

  • @mixin
  • @include
scss
@mixin mixin($bg: #000) {
  background: $bg;
}
div {
  @include mixin(#fff);
}

继承

  • @extend
scss
.border {
  border: 1px red solid;
}
div {
  @extend.border;
}

媒体查询

  • @media
scss
div {
  @media (min-width: 700px) and (max-width: 1100px) {
  }
  @media (any-hover: none) {
  }
  @media (any-hover: hover) {
  }
  @media (any-pointer: none) {
  }
  @media (any-pointer: coarse) {
  }
  @media (any-pointer: fine) {
  }
}

条件分支

  • @if
  • @else if
  • @else
scss
$var: 1;
@if ($var==1) {
  $let: 1;
} @else if($var==2) {
  $let: 2;
} @else {
  $let: 3;
}

循环

  • @for
  • @while
scss
@for $i from 1 to 100 {
  // 1-99
}
@for $i from 1 through 100 {
  // 1-100
}
$i: 1;
@while ($i<5) {
  $i: $i + 1;
}

遍历

  • @each
scss
$arr: 1, 2, 3;
@each $item in $arr {
  $index: index($arr, $item);
}

Coded by Yang_Lee