Sass 条件-循环语句
学习Sass中 @if...@else @for @while @each
一、条件判断 - @if @else
示例:
@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);//为假
}
输出:
.block {
display: block; }
.hidden {
display: none; }
二、 @for 循环
两种方式:
@for $i from <start> through <end>
@for $i from <start> to <end>
$i 表示变量; start 表示起始值; end 表示结束值;
这两个的区别是关键字 through 表示包括 end 这个数,而 to 则不包括 end 这个数。
示例:
//使用 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}#{1} {
width: 2em * $i;
}
}
输出:
.item-11 {
width: 2em; }
.item-21 {
width: 4em; }
例子:
/*
for循环应用示例:
*/
$grid-prefix: span !default;
$grid-width: 60px !default;
$grid-gutter: 20px !default; %grid {
float: left;
margin-left: $grid-gutter / 2;
margin-right: $grid-gutter /2;
}
@for $i from 1 through 6 {
.#{$grid-prefix}#{$i} {
width: $grid-width * $i + $grid-gutter * ($i - 1);
@extend %grid;
}
}
输出结果:
/*
for循环应用示例:
*/
.span1, .span2, .span3, .span4, .span5, .span6 {
float: left;
margin-left: 10px;
margin-right: 10px; } .span1 {
width: 60px; } .span2 {
width: 140px; } .span3 {
width: 220px; } .span4 {
width: 300px; } .span5 {
width: 380px; } .span6 {
width: 460px; }
三、@while 循环
示例:
$types: 4;
$type-width: 20px; @while $types > 0 {
.while-#{$types} {
width: $type-width + $types;
}
$types: $types - 1;
}
输出:
/*
while 循环
*/
.while-4 {
width: 24px; } .while-3 {
width: 23px; } .while-2 {
width: 22px; } .while-1 {
width: 21px; }
四、@each 循环
@each 循环就是去遍历一个列表,然后从列表中取出对应的值。
@each 循环指令的形式: @each $var in <list>
示例:
$list: adam john wynn mason kuroir;//$list 是一个列表
@mixin author-images {
@each $author in $list {
.photo-#{$author} {
background: url("/images/avatars/#{$author}.png");
}
}
} .author-bio {
@include author-images;
}
输出:
.author-bio .photo-adam {
background: url("/images/avatars/adam.png"); }
.author-bio .photo-john {
background: url("/images/avatars/john.png"); }
.author-bio .photo-wynn {
background: url("/images/avatars/wynn.png"); }
.author-bio .photo-mason {
background: url("/images/avatars/mason.png"); }
.author-bio .photo-kuroir {
background: url("/images/avatars/kuroir.png"); }
学习 大漠老师 - Sass入门篇 笔记 http://www.w3cplus.com/
Sass 条件-循环语句的更多相关文章
- [转帖]Linux教程(21)-Linux条件循环语句
Linux教程(21)-Linux条件循环语句 2018-08-24 16:49:03 钱婷婷 阅读数 60更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原创文 ...
- MySQL与Oracle 差异比较之四条件循环语句
循环语句 编号 类别 ORACLE MYSQL 注释 1 IF语句使用不同 IF iv_weekly_day = 'MON' THEN ii_weekly_day := 'MON';ELS ...
- python基础之条件循环语句
前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语 ...
- 布尔&list与条件循环语句与trutle
布尔值与空值 布尔值: 一个布尔值只有True.False两种值 空值: 是python里一个特殊的值,用None表示.None不能理解为0.因为0是有意义的,而None是一个特殊值. list(列表 ...
- 条件循环语句组成了Python代码的骨架
条件控制 我们都知道流程图是有多个分支的,程序中也是如此,在Python中是用if语句来判断程序该走哪个分支的.它的执行过程如下: 代码执行过程如下: if if语句的一般形式如下: if condi ...
- java学习笔记 --- 条件,循环语句
一.三元运算符 A:格式 比较表达式?表达式1:表达式2; B:执行流程: 首先计算比较表达式的值,看是true还是false. 如果是true,表达式1就是结果. 如果是 ...
- python变量、条件循环语句
1. 变量名 - 字母 - 数字 - 下划线 #数字不能开头:不能是关键字:最好不好和python内置的函数等重复 2. 条件语句 缩进用4个空格(Tab键)注意缩进如果是空格键和Tab键混用, ...
- SQL条件循环语句以及异常知识整理
create or replace procedure pr_test1 is begin > then dbms_output.put_line('条件成立'); elsif > the ...
- Python之路-条件控制&循环语句&列表推导式&常用函数
一.什么是条件控制语句 条件控制语句,也可以称之为判断语句,通过一条或多条的执行结果来决定接下来要执行的代码块. 二.if语句 if语句是用来进行判断的,最简答的if语句只有一个判断一个操作. 语法: ...
随机推荐
- Notes of the scrum meeting(12.11)
meeting time:19:30~20:30p.m.,December 11th,2013 meeting place:3号公寓一层 attendees: 顾育豪 ...
- lintcode-6-合并排序数组
合并排序数组 合并两个排序的整数数组A和B变成一个新的数组. 样例 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6] 挑战 你能否优化你的算法,如果其中一个 ...
- 3dContactPointAnnotationTool开发日志(十八)
今天实现了tab效果,按tab键可以在status面板的各个输入框内来回切换,参考Unity3D - UGUI实现Tab键切换输入框.按钮(按Tab键切换高亮显示的UI)
- PAT 甲级 1012 The Best Rank
https://pintia.cn/problem-sets/994805342720868352/problems/994805502658068480 To evaluate the perfor ...
- php mongodb扩展 其他扩展也类似
MongoDBPHP 扩展 本教程将向大家介绍如何在Linux.window.Mac平台上安装MongoDB扩展. Linux上安装 MongoDB PHP扩展 在终端上安装 你可以在linux中执行 ...
- CMD (sea.js)模块定义规范
转自http://www.cnblogs.com/hongchenok/p/3685677.html CMD 模块定义规范 在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(C ...
- android四大组件(一)Activity
一.创建一个新的Activity 1.android的四大组件都要在清单文件里面配置 2.如果想让你的应用有多个启动图标,你的activity需要这样配置 <intent-filter> ...
- bzoj3168-钙铁锌硒维生素
题目 这道题的题意理解很重要,直接写原题了. 小林把人体需要的营养分成了\(n\)种,他准备了2套厨师机器人,一套厨师机器人有\(n\)个,每个厨师机器人只会做一道菜,这道菜一斤能提供第\(i\)种营 ...
- javascript中检测一个变量的类型
/** * 怎么检测一个变量的类型? * 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型. * 另外还可以适应jQuery ...
- 【刷题】BZOJ 3140 [Hnoi2013]消毒
Description 最近在生物实验室工作的小T遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为abc,a.b.c 均为正整数.为了实验的方便,它被划分为abc个单位立 ...