Sass学习之路(9)——插值 #{}

在Sass中,除了在设置属性的值的时候,我们可以使用变量或循环等方式赋值以外。属性的名称,选择器名称等,都可以使用一种叫插值的方式将字符串插入进来。下边我们来看一个例子:

$properties: (margin, padding);
@mixin set-value($side, $value) {
    @each $prop in $properties {
        #{$prop}-#{$side}: $value;
    }
}
.login-box {
    @include set-value(top, 14px);
}
$ properties可以看作JS中的数组,这里的混合宏中遍历了这个数组,并传入了一个代表方向的参数。将变量放在#{}中,便实现了类似字符串拼接的效果,最终编译结果如下:

.login-box {

  margin-top: 14px;

  padding-top: 14px; }

再来看一个用插值来构建选择器的栗子:

@mixin generate-sizes($class, $small, $medium, $big) {
    .#{$class}-small { font-size: $small; }
    .#{$class}-medium { font-size: $medium; }
    .#{$class}-big { font-size: $big; }
}
@include generate-sizes("header-text", 12px, 20px, 40px);

编译结果如下:

.header-text-small { font-size: 12px; }
.header-text-medium { font-size: 20px; }
.header-text-big { font-size: 40px; }

可以看出插值的使用对CSS代码的简化和规则化是挺有作用的,但是并不是处处可用哦。


这里总结一下我目前发现的插值不可用的情况:

1.插值不能用在属性的值中,也就是不能出现在冒号后边,否则会报错,无法识别。

2.不能用来调用混合宏,如@include updated-#{$flag}   ,这里的插值同样不会被识别。(但是经过试验,@extend后边使用插值是可以的)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值