美文网首页大前端
Sass中each、for、if的搭配使用

Sass中each、for、if的搭配使用

作者: 天問_专注于大前端技术 | 来源:发表于2022-08-15 19:03 被阅读0次

CSS 预处理器赋予了 CSS 逻辑编程的能力,其中 Sass、Less、Stylus 最受欢迎,语法都是大同小异,上手也很快。在项目中使用最多的可能要数 Sass 了,本文就讲讲 Sass 中循环遍历 @each@for@if 判断的搭配使用。

Sass && 循环遍历

语法示例

  • @for

@for 语法需要搭配 fromthrough 关键字使用,eg:

@for $index from 1 through 5 {
    .box-bg-#{$index} {
        background: url("../img/bg-#{$name}.png") no-repeat;
        background-size: 100%;
    }
}

编译后生成:

.box-bg-1 {
    background: url("../img/bg-1.png") no-repeat;
    background-size: 100%;
}

.box-bg-2 {
    background: url("../img/bg-2.png") no-repeat;
    background-size: 100%;
}

.box-bg-3 {
    background: url("../img/bg-3.png") no-repeat;
    background-size: 100%;
}

.box-bg-4 {
    background: url("../img/bg-4.png") no-repeat;
    background-size: 100%;
}

.box-bg-5 {
    background: url("../img/bg-5.png") no-repeat;
    background-size: 100%;
}
  • @each

@each 语法需要 list 类似于 JSArray 数语的结构,可以先声明一个数组 list 变量,eg:

$states: 'before', 'ing', 'after';
@each $name in $states {
    .box .#{$name} {
        @if $name == 'after' {
            $name: 'before'
        }
        background: url("../img/bg-#{$name}.png") no-repeat;
        background-size: 100%;
    }
}

编译后生成:

.box .before {
    background: url("../img/bg-before.png") no-repeat;
    background-size: 100%;
}

.box .ing {
    background: url("../img/bg-ing.png") no-repeat;
    background-size: 100%;
}

.box .after {
    background: url("../img/bg-before.png") no-repeat;
    background-size: 100%;
}

注意:

  • 其中做了一个 @if 判断,当变量 $name == 'after' 时,把变量赋值为 before
  • 当变量和字符串拼接时,一定要使用 #{$var} 的形式(类似ES6中的模板字符串),否则编译会报错。

欢迎访问:天问博客

相关文章

  • Sass中each、for、if的搭配使用

    CSS 预处理器赋予了 CSS 逻辑编程的能力,其中 Sass、Less、Stylus 最受欢迎,语法都是大同小异...

  • 2021-03-22 sass中mixin的用法

    使用sass中mixin方法 在sass中可以声明@mixin来使用sass的一个规则集中 主要的是,要使用mix...

  • Sass使用和核心语法

    一、Sass预处理使用1、VS Code中安装Sass插件 在 VS Code 中安装 Live Sass Com...

  • vue运行报错Module build failed: Type

    使用sass后,运行报错处理方法:使用低版本的sass1、修改package.json文件中,sass-loade...

  • sass使用入门

    sass使用入门 1、使用变量 1.1 变量声明: 1.2 变量引用: 1.3变量使用中划线还是下划线: sass...

  • SASS - 简介

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – SASS – 语法 SA...

  • SASS - 使用Sass程序

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – SASS – 语法 SA...

  • SASS - 环境搭建

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – SASS – 语法 SA...

  • SASS - 操作符

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – SASS – 语法 SA...

  • SASS- 局部文件(Partial)

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – SASS – 语法 SA...

网友评论

    本文标题:Sass中each、for、if的搭配使用

    本文链接:https://www.haomeiwen.com/subject/nkelgrtx.html