scss用法大全

Posted 河畔的风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss用法大全相关的知识,希望对你有一定的参考价值。

介绍

这是一篇关于sass的语法大全,欢迎访问我的博客

语法

变量

$color: #fff;
/* 默认变量: */
$color: #fff !default;
$baseLineHeight: 2;
$baseLineHeight: 1.5 !default;
body{
    line-height: $baseLineHeight;
}

嵌套

    nav {
        a {
            color: red;
            header & {
                color:green;
            }
        }
    }
    // 编译后的css代码:
    nav a {
        color: red;
    }

    header nav a {
        color: green;
    }

属性嵌套

    .box {
        border: {
            top: 1px solid red;
            bottom: 1px solid green;
        }
    }
    编译后的css代码:
    .box {
        border-top: 1px solid red;
        border-bottom: 1px solid green;
    }

声明混合宏(复用的公共样式)

@mixin border-radius($radius: 5px){
    -webkit-border-radius: $radius;
    border-radius: $radius;
}
@mixin box-shadow($shadow...) {
    /* @if @else 用法 */
    @if length($shadow) >= 1 {
        @include prefixer(box-shaow, $shadow);
    } @else {
        $shadow: 0 0 4px rgba(0, 0, 0, .3)
        @include prefixer(box-shaow, $shadow);
    }
}

调用混合宏

button {
    @include border-radius(3px);
}

扩展和继承

.btn {
    border: 1px solid #ccc;
    padding: 6px 10px;
    font-size: 14px;
}
.btn-primary {
    background-color: #f36;
    color: #fff;
    @extend .btn;
}

[sass]占位符%

编译出来的代码会将相同的代码合并在一起

%mt5{
    margin-top: 5px;
}
.btn {
  @extend %mt5;
}
.block {
  @extend %mt5;
}
//   编译后的css代码:
.btn, .block {
    margin-top: 5px;
}

其他(插值: #{}, 逻辑运算: 加减乘除)

$col-width: 60px;
$col-gap: 20px;

/* for循环
*@for $i from <start> through <end>
*@for $i from <start> to <end>
*through 表示包括 end 这个数,而 to 则不包括 end 这个数。
*/
@for $i from 1 through 12 {
    .col-#{$i}{
        width: ($col-width + $col-gap) * $i;
    }
}


/*列表 用()表示一组列表*/
$properties: (margin, padding);
@mixin set-value($side, $value) {
    /* each 遍历列表 */
    @each $prop in $properties {
        #{$prop}-#{$side}: $value;
    }
}
.login-box {
    @include set-value(top, 14px);
}

@mixin e($element, $content) {
    background: \'yellow\';
    &__#{$element} {
        color: \'black\';
        @each $k, $v in $content {
            #{$k}: $v
        }
    }
}

@include e(\'content\', (\'display\': flex, \'height\': 100))

/* while */
$types: 4;
$type-width: 20px;
@while $types > 0 {
    .while-#{$types} {
        width: $type-width + $types;
    }
    $types: $types - 1;
}

/*颜色可以相加*/
p{
    color: #010203 + #040506 /* #050709; */
}
/*函数*/
@function widthFn($n) {
  @return $n * $twoWidth + ($n - 1) * $oneWidth;
}

/* 特殊函数
* unquote($string) 删除字符串中的引号
* quote($string) 给字符串添加引号
* to-upper-case() 字符串小写字母转换成大写字母
* to-lower-case() 字符串大写字母转换成小写字母
* percentage() 将一个不带单位的数字转换成百分比形式
* round() 函数可以将一个数四舍五入为一个最接近的整数
* ceil() 函数将一个数转换成最接近于自己的整数
* floor() 函数刚好与 ceil() 函数功能相反,其主要将一个数去除其小数部分
* abs() 函数会返回一个数的绝对值
* min()函数功能主要是在多个数之中找到最小的一个 min(1px,2,3px)
* random() 获取一个随机数
*/

/*列表函数
* nth($list,$n) 用来指定列表中某个位置的值
* join() 函数是将两个列表连接合并成一个列表 join (10px) (20px)
* length() 计算列表长度
* append() 用来将某个值插入到列表中,并且处于最末位
* index() 你找到某个值在列表中所处的位置 index(solid red, red)
*/

以上是关于scss用法大全的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段3——url大全

VSCode自定义代码片段3——url大全

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

scss SCSS片段

scss SASS片段