首页 > 其他分享 >Sass变量-------持续更新

Sass变量-------持续更新

时间:2023-12-27 22:35:04浏览次数:35  
标签:map 变量 Sass color list 列表 ------- red

目录

变量

定义一个变量(以$号开头):$name:green
使用定义好的变量:color:$name

变量也可以用在属性选择器上:#{变量名}
例如:

$className:main;
.#{$className}{
color:red;
}

局部变量

sass中的局部变量仅能在{ }(变量定义时所在的双括号)内部访问。

body{
    $color:red;      //局部变量,只能在当前大括号内访问
    background-color:$color;
}

将局部变量变为全局变量,可以加上!global标识符:

body{
    $color:red !global;  //全局变量,当前文件内都可以访问
    background-color:$color;
}

.header{
    background-color:$color;
}

全局变量

全局变量在整个scss文件内部都可以访问到。

$color:red;
body{
	background-color:$color;   
}

变量默认值

为一个变量定义默认值可以使用! default标识符:

$color:red;       //重写默认值,改为red
$color:green !default;   //默认值为green
body{
    background-color:$color;
}

多值变量

用法一

我们可以为一个变量赋多个值,通过nth()函数读取指定值。

nth(name,index)函数有两个参数:

  • name : 变量名称
  • index : 变量值的位置(注意是重1开始的)
$paddings:10px 5px 20px 40px;
//等价于 $paddings:(10px 5px 20px 40px);
body{
    padding:$paddings;
    padding-left:nth($paddings,1);   //左内边距为10px
}

用法二 --- 列表

列表就是 Sass 的数组。列表是一个一维的数据结构,用于保存任意类型的数值(包括列表,从而产生嵌套列表)

$paddings:(red,green,yellow,black);
body{
    color:nth($paddings,2);
    background-color:nth($paddings,1);
}

列表函数

append(list, value, [separator]) 将单个值 value 添加到列表尾部。separator 是分隔符,默认会自动侦测,或者指定为逗号或空格。 实例:append((a b c), d) 结果: a b c d append((a b c), (d), comma) 结果: a, b, c, d
index(list, value) 返回元素 value 在列表中的索引位置。 实例: index(a b c, b) 结果: 2 index(a b c, f) 结果: null
is-bracketed(list) 判断列表中是否有中括号 实例: is-bracketed([a b c]) 结果: true is-bracketed(a b c) 结果: false
join(list1, list2, [separator, bracketed]) 合并两列表,将列表 list2 添加到列表 list1 的末尾。separator 是分隔符,默认会自动侦测,或者指定为逗号或空格。 bracketed 默认会自动侦测是否有中括号,可以设置为 true 或 false。 实例: join(a b c, d e f) 结果: a b c d e f join((a b c), (d e f), comma) 结果: a, b, c, d, e, f join(a b c, d e f, $bracketed: true) 结果: [a b c d e f]
length(list) 返回列表的长度 实例: length(a b c) 结果: 3
list-separator(list) 返回一列表的分隔符类型。可以是空格或逗号。 实例: list-separator(a b c) 结果: "space" list-separator(a, b, c) 结果: "comma"
nth(list, n) 获取第 n 项的值。 实例: nth(a b c, 3) 结果: c
set-nth(list, n, value) 设置列表第 n 项的值为 value实例: set-nth(a b c, 2, x) 结果: a x c
zip(lists) 将多个列表按照以相同索引值为一组,重新组成一个新的多维度列表。 实例: zip(1px 2px 3px, solid dashed dotted, red green blue) 结果: 1px solid red, 2px dashed green, 3px dotted blue

maps映射

maps允许我们一次定义多个变量,并通过map-get()函数获取指定变量的值。

格式:$name:(key:value,....)

map-get(map,key)函数有两个参数:

  • map: 指定哪个map映射
  • key : map中的key
$colors:(color:red,borderColor:green);
body{
    background-color:map-get($colors,color);
    border-color:map-get($colors,borderColor);
}

有关maps的其它函数

map-has-key(map,key)

作用:判断map是否有对应的key
实例:

$font-sizes: ("small": 12px, "normal": 18px, "large": 24px) 
map-has-key($font-sizes, "big")
//结果: false

map-keys(map)

标签:map,变量,Sass,color,list,列表,-------,red
From: https://www.cnblogs.com/ewar-k/p/17931567.html

相关文章

  • Sass数据类型
    目录数据类型运算颜色值运算字符串运算插值语句#数据类型sass支持以下6中主要类型:数字,1,2,13,10px字符串,有引号字符串与无引号字符串,"foo",'bar',baz颜色,blue,#04a3f9,rgba(255,0,0,0.5)布尔型,true,false空值,null数组(list),用空格或逗号作分隔符,1.5em1em02......
  • Sass继承
    目录继承继承的作用域占位符---%sass中的继承使用@extend标识符,一次可以继承一个或多个样式。继承可以一次继承一个或多个样式。例如:.alert{height:30px;width:100px;}.title{color:yellow;}.success{@extend.alert;background-color:green;......
  • 无涯教程-Java泛型 - 原始类型
    如果原始类型的类型参数在创建过程中未传递,则原始类型是通用类或接口的对象。以下示例将展示上述概念。packagecom.learnfk;publicclassGenericsTester{publicstaticvoidmain(String[]args){Box<Integer>box=newBox<Integer>();box.set......
  • Sass函数与调试----持续更新
    内置函数详情查看菜鸟教程自定义函数自定义函数需要使用@function定义函数,通过@return指令返回数据。例如:@functiondouble($width){@return$width*2;}body{width:double(5px);}调试调试指令可以在编译sass时定义控制台的输出信息,共有三个指定,分别是:@debug......
  • Sass控制指令
    目录@if@for@each基本用法高级用法一:同时遍历多个列表高级用法二:遍历拉列表的key和value@while@ifsass中的条件控制指令用法同JavaScript中的if语句用法大致一样。例如:$cond:14px;body{ @if$cond<0px{ @error'thisisavailavle'; }@elseif$cond>100px{ @wa......
  • RocketMQ系统性学习-RocketMQ领域模型及Linux下单机安装
    欢迎关注公众号【11来了】,发送笔记可领取Redis、JVM等系列完整pdf!MQ之间的对比三种常用的MQ对比,ActiveMQ、Kafka、RocketMQ性能方面:三种MQ吞吐量级别为:万,百万,十万消息发送时延:毫秒,毫秒,微秒可用性:主从,分布式,分布式扩展性方面:水平伸缩能力:均支持技术栈:Java,Java/Scala,Java功能......
  • Sass 混合指令mixin
    目录定义mixin引用mixin参数传递多值参数传递内容指令简写混合指令mixin是可以重用的一组CSS声明。mixin有助于减少重复代码,只需声明一次,就可在文件中引用。它有点类似于变量,但与变量不同的它可以定义一个样式片段,还可以像函数那样定义参数。定义mixin混合指令的用法是在@mixi......
  • JavaImprove--Lesson02--Object类,Objects工具类,封装类
    一.Object类Java中的Object类是所有类的超类,它是Java类层次结构的根类。这意味着所有的类都直接或间接地继承自Object类equals(Objectobj):用于比较两个对象是否相等。默认实现是比较对象的引用,但可以通过重写此方法来比较对象的内部状态。hashCode():返回对象的哈希码值,通......
  • 无涯教程-Java泛型 - 参数类型
    泛型类可以具有参数化类型,其中类型参数可以替换为参数化类型。以下示例将展示上述概念。packagecom.learnfk;importjava.util.ArrayList;importjava.util.List;publicclassGenericsTester{publicstaticvoidmain(String[]args){Box<Integer,List<St......
  • 【五期李伟平】CCF-A(TMC'22)Enabling Long-Term Cooperation in Cross-Silo Federated
    Zhang,Ning,Q.Ma,andX.Chen."EnablingLong-TermCooperationinCross-SiloFederatedLearning:ARepeatedGamePerspective."(2022).  针对重复执行跨筒仓联邦学习过程中如何保持客户积极参与(增加训练时使用的数据量、减少搭便车行为),本文提出合作的、子......