Scss学习--定义变量!default、!global、!optional

13 篇文章 1 订阅

!default

如果变量已经被赋值,不会再被重新赋值
但是如果变量还没有被赋值,则会被赋予新的值。
$content:"First blood";
$content:"Double kill" !default;
p{
    content:"#{$content}";
}

>>>P{
	content:'First blood';
}

$contents:"Double kill" !default;
p{
    content:"#{$contents}";
}

>>>P{
	content:'Double kill';
}
注意:

变量的值是 null 空值时将视为未被 !default 赋值。

$content: null;
$content: "Non-null content" !default;

#main {
  content: $content;
}
编译为

#main {
  content: "Non-null content"; }

!optional

如果 @extend调用失败终端会收到错误提示会报错

例如:只有 h1.notice 包含 .notice 时会报错,因为 h1 与 a 冲突,会生成新的选择器,如果要求 @extend 不生成新选择器,可以通过 !optional 声明达到这个目的
h1{
    height: 50px;
    .errorMessageBox{
        width: 100px;
    }
}

.example.important{
    @extend .errorMessageBox !optional;
}

!global

$widthNumber:20px;
p{
  width: $widthNumber;
} 

div{
  $heightNumber:30px !global; //将局部变量转换为全局变量
  height: $heightNumber;
}

nav{
  height:$heightNumber;
}
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值