Sass学习之路(12)——控制命令
来源:互联网 发布:南风知我意七微书包网 编辑:程序博客网 时间:2024/04/28 10:34
Sass的控制命令其实和JS以及其他一些语言中的非常相似:
1.@if
@if指令是一个SassScript,可以根据条件来处理样式块,在条件为true或false时,会返回不同的样式块。它也可以配合@else if 以及@else一起使用。
下边是一个通过@if来控制元素显示隐藏的例子:
//SCSS@mixin blockOrHidden($boolean:true) { @if $boolean { display: block; } @else { display: none; }}.block { @include blockOrHidden;}.hidden{ @include blockOrHidden(false);}编译出来的CSS:
.block { display: block;}.hidden { display: none;}
这里依然和其他变成语言中的for循环大同小异,在Sass中,循环有下面两种写法:
@for $i from <start> through <end>@for $i from <start> to <end>$i表示变量,start为起始值,end为结束值。两种写法在于,使用through表示包括end,使用to表示不包括。也就是小于等于和小于的区别。
我们先来看一个使用through的例子:
@for $i from 1 through 3 { .item-#{$i} { width: 2em * $i; }}编译结果如下:
.item-1 { width: 2em;}.item-2 { width: 4em;}.item-3 { width: 6em;}
再来一个to的例子:
@for $i from 1 to 3 { .item-#{$i} { width: 2em * $i; }}编译结果如下:
.item-1 { width: 2em;}.item-2 { width: 4em;}
@while循环会在表达式值为false之前,不停地循环执行,生成不同的样式块。这个和for循环也是非常相似的。例如:
//SCSS$types: 4;$type-width: 20px;@while $types > 0 { .while-#{$types} { width: $type-width + $types; } $types: $types - 1;}编译结果如下:
.while-4 { width: 24px;}.while-3 { width: 23px;}.while-2 { width: 22px;}.while-1 { width: 21px;}
4.@each循环
@each循环一般用来遍历一个列表,然后从列表中取出对应的value或key。
@each的写法如下:
@each $var in <list>
这里是一个同过@each遍历列表内容并循环给不同代码块赋予对应的图片背景的例子:
$list: adam john wynn mason kuroir;//$list 这里是一个列表@mixin author-images { @each $author in $list { .photo-#{$author} { background: url("/images/avatars/#{$author}.png") no-repeat; } }}.author-bio { @include author-images;}最终编译出来的CSS如下:
.author-bio .photo-adam { background: url("/images/avatars/adam.png") no-repeat; }.author-bio .photo-john { background: url("/images/avatars/john.png") no-repeat; }.author-bio .photo-wynn { background: url("/images/avatars/wynn.png") no-repeat; }.author-bio .photo-mason { background: url("/images/avatars/mason.png") no-repeat; }.author-bio .photo-kuroir { background: url("/images/avatars/kuroir.png") no-repeat; }
好的,对于Sass中的控制指令就写到这里啦
欢迎小伙伴们一起来讨论关于编程的各种内容~
2 0
- Sass学习之路(12)——控制命令
- Sass学习之路(1)——Sass简介
- Sass学习之路(3)——Sass编译
- Sass学习之路(11)——Sass运算
- sass学习--sass的控制命令(进阶篇)
- 10天精通Sass 之 Sass控制命令
- Sass学习之路(2)——Sass环境安装(windows版)
- Sass 的控制命令
- Sass学习之路(5)——变量
- Sass学习之路(6)——嵌套
- Sass学习之路(7)——混合宏
- Sass学习之路(9)——插值 #{}
- Sass学习之路(10)——注释、数据类型
- Sass学习之路(13)——字符串函数
- Sass学习之路(14)——数字函数
- Sass学习之路(15)——列表函数(一)
- 学习sass之安装sass
- sass学习之安装sass
- android 用mvp模式来架构自己的app+打造Recyclerview万能适配器
- Java工厂模式
- php 原生生成xls和csv
- laravel 存入session方法
- JavaScript基础系列13---正则表达式
- Sass学习之路(12)——控制命令
- 《零点起飞学C语言(康莉)》读书笔记三
- OpenGL上的纹理状态跟着纹理ID走
- [Leetcode] Move Zeroes
- GPUImageSDK 美颜
- 中断系统
- 大文件如何生成MD5
- 安吉哭了, 一句话看出沙溢的情商!
- android的PopWindow实现下拉弹窗