章节
问答
课签
笔记
评论
占位
占位

@if

@if 指令是一个 SassScript,它可以根据条件来处理样式块,如果条件为 true 返回一个样式块,反之 false 返回另一个样式块。在 Sass 中除了 @if 之,还可以配合 @else if 和 @else 一起使用。

假设要控制一个元素隐藏或显示,我们就可以定义一个混合宏,通过 @if...@else... 来判断传进参数的值来控制 display 的值。如下所示:

//SCSS
@mixin blockOrHidden($boolean:true) {
  @if $boolean {
      @debug "$boolean is #{$boolean}";
      display: block;
    }
  @else {
      @debug "$boolean is #{$boolean}";
      display: none;
    }
}

.block {
  @include blockOrHidden;
}

.hidden{
  @include blockOrHidden(false);
}

编译出来的CSS:

.block {
  display: block;
}

.hidden {
  display: none;
}

 

任务

小伙伴们,现在让我们来练习一下@if的用法吧!

?不会了怎么办
||
1
2
// ----
// Sass (v3.4
    .12)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 慕粉詹蔚
是,如果你在命令行中使用命令生成css文件,命令行中就会打印debug的信息

已采纳回答 / 东方既白233
可以的,@if {} @else if{}@else{}

最赞回答 / qq_春田花花_0
我是谁???????

已采纳回答 / zjc_Dream
不一样的啊,{$boolean}返回的值是true表示显示,返回的值是false表示隐藏。用@if的时候创建了个混合宏@mixin blockOrHidden($boolean:true){    @if $boolean{       @debug "$boolean is #{$boolean}";       display:block;    }   @else {      @debug "$boolean is #{$boolean}";      display:none;   }}上面创建...

最新回答 / 一Q
@debug 是在命令管理器里有结果显示的

已采纳回答 / 慕刻
调试指令打印出sassscript表达式的值到标准错误输出流。调试,有复杂的sassscript SASS文件会很有用。例如:@debug 10em + 12em;得到Line 1 DEBUG: 22em
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言