sass使用记录

安装 npm/yarn install sass

1 嵌套
2 父选择器 &
3 属性嵌套 提取相同属性名,嵌套子项属性

font{
	size: 10px;
	family: fantasy;
	weight: bold;
}
等同于
font-size: 10px;
font-family: fantasy;
font-weight: bold;

4 注释
5 数据类型

  • 数字,1, 2, 13, 10px
  • 字符串,有引号字符串与无引号字符串,"foo", 'bar', baz
  • 颜色,blue, #04a3f9, rgba(255,0,0,0.5)
  • 布尔型,true, false
  • 空值,null
  • 数组 (list),用空格或逗号作分隔符,1.5em 1em 0 2em, Helvetica, Arial, sans-serif
  • maps, 相当于 JavaScript 的 object,(key1: value1, key2: value2)

6 运算 (+, -, *, /, %)
7 插值 #{}

1、变量 $
 $w: 10;
 
2、循环 @for
@for $iw from 1 through 10 {
    $w: 10 * $iw;
    .#{'iw'+$w} { width: 10px * $iw;}
    .#{'rate'+$w} { width: 10% * $iw; }
}

3、循环 @each 单值
@each $justifyContent in flex-start, center, flex-end, space-between {
    .box-#{$justifyContent} {
        display: flex;
        justify-content: #{$justifyContent};
        align-items: center;
    }
}

4、循环 @each 对象值
注释: 对象属性 $name, $picture, $suffix;对象值:(text, text, svg)
说明:一个()代表一个对象,数组由多个对象组成
@each $name, $picture, $suffix 
in (text, text, svg),
(photo, photo, svg)
{
	.#{$name} {
		$url: #{$picture}.#{$suffix};
		background: url('../../static/images/'+$url) no-repeat;
	}
}

5、循环 @each map值
@each $header, $size in (h1: 2em, h2: 1.5em, h3: 1.2em) {
  #{$header} {
    font-size: $size;
  }
}

6、混入与调用 @mixin与@include 
参数:接收选择器名称
@mixin left-icon($selector) {
    .list #{$selector}{
        height: 48px;
        position: relative;
    }
}
@include left-icon(".icon-text");

7、混入与调用 @mixin与@include 
参数:无参
@mixin color-text {
  color: #ff0000;
}
@include color-text

8、继承 @extend
.error {
  border: 1px #f00;
  background-color: #fdd;
}
.seriousError {
  @extend .error;
  border-width: 3px;
}
posted on 2022-03-21 09:08  羽丫头不乖  阅读(30)  评论(0编辑  收藏  举报