首页 > 其他分享 >Sass控制指令

Sass控制指令

时间:2023-12-27 22:33:21浏览次数:31  
标签:Sass item color 控制指令 用法 width each icon

目录

@if

sass中的条件控制指令用法同JavaScript中的if语句用法大致一样。例如:

$cond:14px;
body{
	@if $cond < 0px{
		@error 'this is availavle';
	}@else if $cond > 100px{
		@warn 'the value is too large';
	}@else{
		margin-top:$cond;
	}
}

@for

@for 指令可以在限制的范围内重复输出格式,每次按要求(变量的值)对输出结果做出变动。
它有两种写法:

  • @for $var from <start> through <end> : 条件范围包含 的值
  • @for $var from <start> to <end> : 条件范围只包含 的值不包含 的值

$var 可以是任何变量;<start><end> 必须是整数值。

代码实例:

@for $i from 1 through 3 {
  .item-#{$i} { width: 2em * $i; }
}

编译结果:

.item-1 {
  width: 2em; }
.item-2 {
  width: 4em; }
.item-3 {
  width: 6em; }

@each

@each可以用来遍历一个值列表【例如:a,b,c或(12,23,34)】
指令的格式是 $var in <list>, $var 可以是任何变量名,比如 $length 或者 $name,而 <list> 是一连串的值,也就是值列表。

基本用法

@each $animal in puma, sea-slug, egret, salamander {
  .#{$animal}-icon {
    background-image: url('/images/#{$animal}.png');
  }
}

编译结果:

.puma-icon {
  background-image: url('/images/puma.png'); }
.sea-slug-icon {
  background-image: url('/images/sea-slug.png'); }
.egret-icon {
  background-image: url('/images/egret.png'); }
.salamander-icon {
  background-image: url('/images/salamander.png'); }

高级用法一: 同时遍历多个列表

@each $className,$width,$color in (h1,h2),(12px,10px),(blue,red){
    .#{$className}-icon{
    	width:$width;
        color:$color;
	}
}

编译结果:

.h1-icon{
    width:12px;
    color:blue;
}
.h2-icon{
    width:10px;
    color:red;
}

高级用法二: 遍历拉列表的key和value

@each $name,$color in (h1:blue,h2:red){
    .#{$name}-icon{
        color:$color;
	}
}

编译结果:

.h1-icon{
	color:blue;
}

.h2-icon{
	color:red;
}

@while

@while 指令重复输出格式直到表达式返回结果为 false。类似于JavaScript中的while语句。

$i: 6;
@while $i > 0 {
  .item-#{$i} { width: 2em * $i; }
  $i: $i - 2;
}
.item-6 {
  width: 12em; }

.item-4 {
  width: 8em; }

.item-2 {
  width: 4em; }

标签:Sass,item,color,控制指令,用法,width,each,icon
From: https://www.cnblogs.com/ewar-k/p/17931575.html

相关文章

  • Sass 混合指令mixin
    目录定义mixin引用mixin参数传递多值参数传递内容指令简写混合指令mixin是可以重用的一组CSS声明。mixin有助于减少重复代码,只需声明一次,就可在文件中引用。它有点类似于变量,但与变量不同的它可以定义一个样式片段,还可以像函数那样定义参数。定义mixin混合指令的用法是在@mixi......
  • node node-sass sass-loader版本对应问题(转)
    1.查看本地node版本node-v具体对应版本如下图:具体对应链接地址:node-sass2.查看项目中package中node-sass和sass-loader是否对应node版本3.不对应应修改成对应版本号以下是部分版本号对应,具体可百度sass-loader4.1.1,node-sass4.3.0sass-loader7.0.3,node-sass4.7.2......
  • 在使用 npm install的时候提示node-sass command faile 解决方案
    在使用npminstall的时候错误提示node-sass相关的。错误信息如下图:解决方法(PS:凯哥的不适用)出现这种问题基本是由于node版本与sass版本不匹配导致的方案1:卸载node,安装对应版本方案2:修改sass版本修改sass版本,有可能导致其他依赖包出错,所以还是重新安装node版本。node-v4、查看node......
  • npm下载node-sass包安装失败,需要下python2?
    问题这个问题真的老问题了,今天在跑一个老项目的时候又遇到了。每次遇到都会感慨,这个包真的是是非多啊,解决方案也很简单,不用下python环境,单纯是版本问题查了下网上有挺好的一篇博客:http://www.inspinia.net/a/388314.html?action=onClick里面的报错跟我的一模一样:解决方案......
  • sass的模块导入
    sass的模块导入:https://blog.csdn.net/iamdidi0110/article/details/131416901?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%BC%95%E5%85%A5sass%E6%96%87%E4%BB%B6&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default......
  • 安装install的项目的报错sass npm ERR! [email protected] postinstall: `node scripts
    npmERR!codeELIFECYCLEnpmERR!errno1npmERR!node-sass@4.14.1postinstall:`nodescripts/build.js`npmERR!Exitstatus1npmERR!npmERR!Failedatthenode-sass@4.14.1postinstallscript.npmERR!Thisisprobablynotaproblemwithnpm.Thereis......
  • uniApp:使用vue3+Vite4+pinia+sass技术栈构建(03)-封装对象类
    1.在src文件夹创建models文件夹import{user}from"@/service/api"//用户信息返回的数据类型interfaceuserInfoType{username:string,phone:string}//返回类型interfaceResultType<T>{errno:number,errmsg:string,datas:T}classuser......
  • uniApp:使用vue3+Vite4+pinia+sass技术栈构建(02)-封装api请求
    前言在纯vue3开发的时候,使用axios进行api请求,但在uniapp中还需要安装axios的适配器uniapp-axios-adapter,否则小程序或者app请求不兼容。文档地址uniapp-axios-adapter-DCloud插件市场但在这里我们不使用axios,而是使用uniapp提供的请求方法uni.request进行封装。uni.request方......
  • Syntax Error: Error: Node Sass version 8.0.0 is incompatible with ^4.0.0.
    依赖关系如图: 如果报如题这个错误,并且按照上面node-sass官网的依赖关系依赖对了node版本还不行,那么,请删除node-sassnpmuninstallnode-sass然后执行npmisass--save-dev然后运行项目,如果出现类似图片中的错误时,别慌,把所有的/deep/更换成::v-deepSyntaxError:Sa......
  • vue sass
    1.安装:[email protected]注:①.sass-loader依赖于node-sass(1).报错:Modulebuildfailed:TypeError:this.getResolveisnotafunctionatObject.loader(path/node_modules/sass-loader/dist/index.js:52:26)2.注释:①./*......