sass里@if判断语法有什么用?
嵌套循环我都觉得很有用,可是判断有什么用?
判断的使用场景在哪里?为什么会有判断这个语法,为了解决什么问题?
$type: monster;
p {
@if $type == ocean {
color: blue;
} @else if $type == matador {
color: red;
} @else if $type == monster {
color: green;
} @else {
color: black;
}
}
这是官网给个实例,这样不是很没有意义吗?
直接定义
p {
color: green;
}
不是更加直接吗?
浏览器里没有脚本可以控制sass的type,一切全在sass编译前的环境里运行,编译成css后就只能依靠javascript更改,那么为什么还要@if呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
@小明 说得很对,
@if
一般是配合@mixin
使用的。@mixin
可以用来定义一个样式模板函数。@if
的话,可以在这个函数中作为条件判断。然后,可以通过
@include
来调用@mixin
。例子的话,可以看这里。
补充:
上面的例子已经解释了
@if
的用法。另外@mixin
也可以进行嵌套来减少重复代码。例如上面的例子的每一个
@if
里的代码有所重复,可以另外建一个@mixin
来处理@if
里面的样式。类似这样:看了一点文档,@if语法主要活跃在浏览器兼容上,可以少些很多js代码
如果变量$lte7为真,就输出display: inline;zoom:1;