数据类型

在sass里有数字、字符串、列表、颜色等类型

在cmd里 输入

sass -i

就会进入到交互模式,输入的计算可以马上得到结果

type-of()可以用来得到数据类型,如:

type-of(5) -> number

注意数字类型的可以包含单位,如:

type-of(5px) -> number

字符串类型:

type-of(hello) -> string

type-of('hello') -> string

list类型:

type-of(1px solid red) -> list

type-of(5px 10px) -> list

颜色:

type-of(red)  -> color
type-of(rgb(255,0,0) -> color
type-of(#333) -> color

number 计算

2+9 -》10
2*8 -》16
(8/2) ->4 //除法要写括号

也可以包含单位

5px + 5px -> 10px
5px -2 ->3px
5px *2 ->10px 5px * 2px ->10px*px //这样就不对了哟 (10px/2px) -> 5//除法单位取消 3+2*5px->13px

好吧,都是一些小学的数学题,很简单对吧

处理数字的函数

绝对值

abs(10) -> 10;
abs(10px) -> 10px;
abs(-10px) -> 10px;

四舍五入相关

round(3.4)->3  //四舍五入
round(3.6)->4 ceil(3.2)->4 //向上取整
ceil(3.6)->4 floor(3.2)->3 //向下取整
floor(3.9)->3 percentage(600px/1000px) ->65% //百分之 min(1,2,3) -> 1 //最小值 max(2,3,4,5) -> 5 //最大值

字符串相关

//带引号和不带引号的字符串想加为带引号的字符串

"a" + b ->"ab"
a + "b" ->"ab" //字符串+数字
"ab" + 1 ->"ab1" //字符串 - 和 / 字符串
"a" - b ->"a-b"
"a" / b ->"a/b" //注意字符串不能相乘

字符串函数

大写:

$word:"hello";
to-upper-case($word) -> "HELLO"

小写:

$word:"Hello";
to-lower-case($word) -> "hello"

得到length:

$word:"Hello";
str-length($word) -> 5

得到字符串在字符串里的位置:

$word:"Hello";
str-index($word,"el") -> 2

字符串中插入字符串:

$word:"Hello";
str-insert($word,"aa",2) -> "Haaello"

颜色相关

在sass里除了关键字、十六进制、rgb和rgba之外还有一种颜色是HSL

分别表示的是 色相 0-360(deg) 饱和度 0-100% 明度 0-100%

例如:

body {
background-color:hsl(0,100%,50%);
} -》 body {
background-color: red;
}
body {
background-color:hsl(60,100%,50%);
} -》 body {
background-color: yellow;
}

也可以有透明哟

body {
background-color:hsl(60,100%,50%,0.5);
} -》 body {
background-color: rgba(255,255,0,0.5);
}

颜色函数

lighten函数和darken函数可以把颜色加深或减淡,即调整明度,第一个参数为颜色,第二个参数为百分比,例如:

$color:#ff0000;

$light-color:lighten($color,30%);

$dark-color:darken($color,30%);

.a{
color:$color;
background:$light-color;
border-color:$dark-color;
}

---》

.a {
color: #ff0000;
background: #ff9999;
border-color: #660000;
}

saturate和desaturate函数可以调整颜色的纯度

$color:hsl(0,50%,50%);

$saturate-color:saturate($color,50%);

$desaturate-color:desaturate($color,30%);

.a{
color:$color;
background:$saturate-color;
border-color:$desaturate-color;
}

--》

.a {
color: #bf4040;
background: red;
border-color: #996666;
}

用transparentize来让颜色更透明

用opatify来让颜色更不透明

$color:rgba(255,0,0,0.5);

$opacify-color:opacify($color,0.3);

$transparentize-color:transparentize($color,0.3);

.a{
color:$color;
background:$opacify-color;
border-color:$transparentize-color;
}

---》

.a {
color: rgba(255, 0, 0, 0.5);
background: rgba(255, 0, 0, 0.8);
border-color: rgba(255, 0, 0, 0.2);
}

列表类型

在sass里,用空格或者逗号隔开的值就是列表类型

如:

1px solid red

Courier,microsoft yahei

列表函数

sass里的列表类似与数组

获取列表的长度
length(5px 10x) 2 获取列表中的第几个元素
nth(5px 10px,2) 10px 获取一个元素在一个列表里的下标
index(1px solid red,solid) 2 给列表里加入新的元素
append(5px 10px,5px) 5px 10px 5px 连接两个列表
join(5px 10px,5px 0) 5px 10px 5px 0

map类型

sass里的map类型类似与js里的object

$map:(key1:value1,key2:value2,key3:value3);

map 函数

//定义一个map
$color:(light:#ffffff,dark:#000000); //获取map 的length
length($color) ->2 //得到map里key对应的值
map-get($color,dark) ->#000000 获取map里的所有键的列表
map-keys($color) ->("light","dark") //列表类型 获取map里的所有值的列表
map-values($color) -> ("#ffffff","#000000") //列表类型 判断map里是否含有这个key
map-has-key($color,light) ->true 给map里添加键值对
map-merge($color,(light-gray:#cccccc)) ->(light:#ffffff,dark:#000000,light-gray:#cccccc) 移除map里的某个键值对
map-remove($colors,light) ->(dark:#000000,light-gray:#cccccc)

boolean类型

在sass里通过> < 比较得到的值就是布尔值 true 和false

5px>3px -> true

5px<2px -> false

在sass里也可以有或 且 非

且:

(5px > 3px) and (5px < 2px) -> false
(5px > 3px) and (5px > 2px) -> true

或:

(5px > 3px) or (5px < 2px) -> true
(5px < 3px) and (5px > 2px) -> false

非:

not(5px>3px) -> false

interpolation

在sass里可以通过interpolation的方式来在变量名和属性名上拼接变量值,例如

$name:"info";
$attr:"border"; .alert-#{$name}{
#{$attr}-color:red;
}

---->

.alert-info {
border-color: red;
}

3.sass的数据类型与函数的更多相关文章

  1. SqlServer中日期和时间数据类型及函数 【转】

    来源:http://blog.csdn.net/royalwzy/article/details/6446075 日期和时间数据类型 下表列出了 Transact-SQL 的日期和时间数据类型. 数据 ...

  2. Sass中常用的函数

    字符串函数 To-upper-case() 函数将字符串小写字母转换成大写字母 To-lower-case() 函数 与 To-upper-case() 刚好相反,将字符串转换成小写字母 数字函数 S ...

  3. Oracle数据类型,函数与存储过程

    字符串类型    固定长度:char nchar    n 表示Unicode编码    可变长度: varchar2 nvarchar2 数字类型:number(P,S)P:整数位数,S小数位数   ...

  4. 小白学 Python(17):基础数据类型(函数)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  5. Lua 学习之基础篇二<Lua 数据类型以及函数库 汇总>

    引言 前面讲了运算符,这里主要对Lua的数据处理相关的数据类型和函数库进行总结归纳,后面会再接着单独分开讲解具体使用. 首先因为Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值. 值可以存储 ...

  6. Sass基本数据类型和各类型的原生方法

    数据类型: 数字:1,2,3,11,10px (可以带单位) 字符串:"asd",'asd',asd (有引号和无引号都是字符串类型) 如 $name : zhang san ; ...

  7. scala基础语法(变量,数据类型,函数)

    一:常量与变量 1.常量 2.两种变量定义方式(严格与不严格) 3.Float注意点 3.注意点 变量名后加上: 类型首字母是大写 4.占位符_ 但是需要制定类型 5.scala数据类型 6.其他类型 ...

  8. 读javascript高级程序设计01-基本概念、数据类型、函数

    一. javascript构成 1.javascript实现由三部分组成: ECMAScript:核心语言功能 DOM:文档对象模型,提供访问和操作网页内容的方法和接口 BOM:浏览器对象模型,提供与 ...

  9. MySQL中关于日期、时间的数据类型和函数

    一.日期相关的数据类型 1.datetime 占用8字节,既显示了日期,又显示了时间.其表示的日期范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59” 2.da ...

随机推荐

  1. 利用vertical-align:middle垂直居中

    以前总是以为vertical-align与text-align是同样的道理,一个是垂直居中,一个是水平居中,结果在这里一点效果也没有.事实上vertical-align与text-align完全不一样 ...

  2. Java 三大特性

    一.Java第一大特性:封装   封装:将属性私有化,提供共有方法访问私有属性,实现细节隐藏,并且程序也更加容易维护. class Dish { private final String name; ...

  3. WireShark 使用

    1.干货 Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直 ...

  4. 自定义spring mvc的json视图

    场景 前端(安卓,Ios,web前端)和后端进行了数据的格式规范的讨论,确定了json的数据格式: { "code":"200", "data&quo ...

  5. Golang学习--包管理工具glide

    上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...

  6. python学习第一天基础篇

    学习背景:决定开始学习python之前,因为公司基本都是微软系统,所以很少碰到linux系统,机缘巧合接到了一个项目是使用shell对mysql进行backup,因为公司唯一的系统工程师是微软在行,对 ...

  7. 经验总结22--抓取HTML数据,HtmlAgilityPack(续)

    假设获取的数据是HTML的话.我们就须要第三方工具有辅助获取我们须要的数据. 我选用了HtmlAgilityPack这么个工具. 首先肯定去网上下载一个,然后引用到项目中.下载地址:http://ht ...

  8. Learning to Rank算法介绍:GBRank

    之前的博客:http://www.cnblogs.com/bentuwuying/p/6681943.html中简单介绍了Learning to Rank的基本原理,也讲到了Learning to R ...

  9. 项目实战12.1—企业级监控工具应用实战-zabbix安装与基础操作

    无监控,不运维.好了,废话不多说,下面都是干货. 警告:流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html ...

  10. springMVC学习总结(三)数据绑定

    springMVC学习总结(三)数据绑定 一.springMVC的数据绑定,常用绑定类型有: 1.servlet三大域对象: HttpServletRequest HttpServletRespons ...