Sass 条件语句

2023-11-07

本节我们来学习 Sass 中的条件语句,可以使用 @if 指令来判断条件表达式的值,然后控制输出。Sass 中的 @if@else 等指令和 JS 中的 if/else 类似。

@if 指令

@if 指令后面的表达式返回值为 true 时,输出花括号中的代码,为 false 则不输出。

示例:

下面例子中,定义了一个变量 $num,使用 @if 指令来判断变量的值,当变量值为 1 时,输出字体颜色为 #ee78da,当变量值为 2 时,输出字体颜色为 #65e3e7

$num:1;
h3{
    @if $num == 1 { color: #ee78da; }
    @if $num == 2 { color: #65e3e7; }
}

编译成 CSS 代码:

h3 {
  color: #ee78da;
}

从编译后的代码可以很明显的看出,因为变量 $num 的值为 1,所以最终输出的颜色值为 #ee78da

@else指令

if 指令后面可以跟一个 @else 指令,但是 @else 指令不需要带有条件表达式。当不满足 @if 指令后面接的条件时,会执行 @else 指令中的内容。

示例:
$num:1;
h3{
    @if $num == 2 { color: #ee78da; }
    @else { color: #65e3e7; }
}

编译成 CSS 代码:

h3 {
  color: #65e3e7;
}

可以看到,因为变量 $num 的值为1 , @if 指令后面的条件表达式不满足,所以最终输出的颜色值为 #65e3e7

@else if指令

@else if 指令也是和 @if 指令一起使用的,@else if 指令后面同样可以接条件表达式。如果 @if 指令后面的条件表达式为 false,则执行 @else if 指令后面的条件表达式,如果都不满足,则执行 @else 指令。

示例:
$num: 3;
h3{
    @if $num == 1 { 
        font-size: 12px;
        color: red;
    }
    @else if $num == 2{
        font-size: 14px;
        color: green;
    }
    @else if $num == 3{
        font-size: 16px;
        color: yellow;
    }
    @else {
        font-size: 18px;
        color: pink;
    }
}

编译成 CSS 代码为:

h3 {
  font-size: 16px;
  color: yellow;
}
总结

Sass 中的 @if 指令后面可以接多个 @else if 指令和一个 @else 指令。@if 指令和 @else if 指令后面都需要接条件表达式,@else 指令则不用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sass 条件语句 的相关文章

随机推荐

  • 剑指 Offer 28. 对称的二叉树(递归/并且或者要考虑好)

    orz 没有思路 有了思路还是错的 递归 可以仿照归并排序 我这么觉得 两边判断 如果不是当我没说 递归停止的条件是什么 结束条件 左节点和右节点都为空 gt 倒底了都长得一样 gt true 左节点为空的时候右节点不为空 或反之 gt 长
  • Harbor仓库介绍与搭建过程

    一 介绍 Harbor 是一个英文单词 意思是港湾 港湾是干什么的呢 就是停放货物的 而货物呢 是装在集装箱中的 说到集装箱 就不得不提到Docker容器 因为docker容器的技术正是借鉴了集装箱的原理 所以 Harbor正是一个用于存储
  • 代码块和执行顺序

    1 什么是代码块 使用 定义的一段代码我们称之为代码块 一般分为 1 普通代码块 2 实例代码块 3 静态代码块 2 普通代码块 定义在方法中的代码块 可以用于限定局部变量的生命周期 public class Main public sta
  • 决策树的实现原理与matlab代码

    很久不写博客了 感觉很长一段时间只是一味的看书 疏不知一味地看书 写代码会导致自己的思考以及总结能力变得衰弱 所以 我决定还是继续写博客 废话不多说了 今天想主要记录数据挖掘中的决策树 希望能够将自己的理解写得通俗易懂 决策树是一种对实例分
  • windows使用cmd运行jar点击黑窗口项目停止运行问题

    windows使用cmd运行jar点击黑窗口项目停止运行问题 问题 解决 问题 近期做的项目部署在windows服务器下 使用cmd运行jar包的方式 出现项目停了运行问题 原因是误点击了黑窗口里的位置 导致项目停止运行 解决 取消勾选即可
  • java数组 contains_java怎么判断一个元素是否在数组中存在

    我是前端出身 写这个判断是否存在或者是去重的方法 前端js基本上有好多种方法 但是貌似都有点麻烦 js与Java其实也大差不差 只要思路正确 只是实现的代码不同罢了 起初我想的是通过双层for循环 但貌似依旧有点麻烦 查工具书发现 Java
  • 增强for循环

    package structure loop 增强for循环 重点是用来循环数组和集合的 public class ForDemo05 public static void main String args int nembers 5 2
  • 锂电池的充电原理

    一 锂电池的充电原理 锂离子电池的充电过程可以分为三个阶段 涓流充电 低压预充 恒流充电 恒压充电 锂电池的充电方式是限压恒流 都是由IC芯片控制的 典型的充电方式是 先检测待充电电池的电压 如果电 压低于3V 要先进行预充电 充电电流为设
  • 微信电脑版不断崩溃

    目录 文章背景 目录 问题介绍 解决问题 说明 参考文章 版本记录 文章背景 之前不知道为什么 突然发生微信不断崩溃的状况 更新微信没用尝试网上的各种方法都没用 不过索性最后解决了 想看解决方案的话看最后了 中间记录的是崩溃日志 目录 问题
  • nrm 安装后报错

    Error ERR REQUIRE ESM require of ES Module D npm node modules nrm node modules open index js from D npm node modules nrm
  • python async 异步

    1 requests 包不支持异步 使用 requests async import asyncio import threading import time from aiohttp import ClientSession import
  • g++配置选项-std=c++11

    如何配置g 选项 std c 11 g 命令改为 g std c 11 qt配置std的c 11 QMAKE CXXFLAGS std c 11 如果没有配置c 11 就会报如下错
  • Comparable、compareTo、Comparator、compare之间有什么区别

    Comparable和Comparator是Java的接口 而compareTo是Comparable接口中的方法 compare是Comparator中的方法 在Scala中Ordered相当于Java中的Comparable 在Scal
  • UML2面向对象分析与设计(第2版) 谭火彬 杂记

    首先 来讲讲我对泛化的理解 其实这是站在的视角的不同而表述的不同 泛化是站在父类的角度 父类给孩子的方式叫泛化 而继承是站在孩子的角度 儿子继承父类的方式叫继承 其实上了谭老师大概一章的课程 并且我觉得谭老师真的是对面向对象很有认识的 这门
  • java设计模式之建造者模式

    定义 建造者模式将一个复杂对象的构建过程与它的表示分离 使得同样的构建过程可以创建不同的表示 属于创建型设计模式 对于用户而言 使用建造者模式只需指定需要创建的类型就可以获得对象 创建过程及细节不需要了解 根据建造者模式的定义 可以简单的理
  • 关于udelay(); mdelay(); ndelay(); msleep();

    在 inux river开发中 经常要用到延迟函数 msleep mdelay udelay 虽然msleep和mdelay都有延迟的作用 但他们是有区别的 mdeday还忙等待函数 在延迟过程中无法运行其他任务 这个延迟的时间是准确的 是
  • 分享几个直接访问的GPT项目,ChatGPT智能最佳实践

    自美国时间12月2日上线以来 美国硅谷的初创公司OpenAI推出的ChatGPT 已经拥有超过一百万的用户 受到热烈的讨论 它既能完成包括写代码 修bug 代码改错 翻译文献 写小说 写商业文案 创作菜谱 做作业 评价作业等一系列常见文字输
  • 在linux系统启动springboot项目

    1 springboot项目打包 在项目根目录的地址栏输入cmd并回车 执行如下命令 生成jar mvn clean package 2 部署并执行 传到linux系统的指定位置 在安装好jdk和数据库等相关环境 执行jar 1 java
  • 【TA-霜狼_may-《百人计划》】美术2.7 Metallic 与 Speculer流程

    TA 霜狼 may 百人计划 美术2 7 Metallic 与 Speculer流程 TOC TA 霜狼 may 百人计划 美术2 7 Metallic 与 Speculer流程 2 7 1 概念 2 7 2 两种流程 通用贴图 2 7 3
  • Sass 条件语句

    本节我们来学习 Sass 中的条件语句 可以使用 if 指令来判断条件表达式的值 然后控制输出 Sass 中的 if else 等指令和 JS 中的 if else 类似 if 指令 当 if 指令后面的表达式返回值为 true 时 输出花