Sass中常用的函数

摘要:
字符串函数To-upper-case()函数将字符串小写字母转换成大写字母To-lower-case()函数与To-upper-case()刚好相反,将字符串转换成小写字母数字函数Sass中的数字函数提要针对数字方面提供一系列的函数功能:percentage:将一个不带单位的数转换成百分比值;round:将数值四舍五入,转换成一个最接近的整数;ceil:将大于自己的小数转换成下一位整数;floor:将一个数去除他的小数部分;abs:返回一个数的绝对值;min($numbers…

字符串函数

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

数字函数

Sass 中的数字函数提要针对数字方面提供一系列的函数功能:

  • percentage($value):将一个不带单位的数转换成百分比值;
  • round($value):将数值四舍五入,转换成一个最接近的整数;
  • ceil($value):将大于自己的小数转换成下一位整数;
  • floor($value):将一个数去除他的小数部分;
  • abs($value):返回一个数的绝对值;
  • min($numbers…):找出几个数值之间的最小值;
  • max($numbers…):找出几个数值之间的最大值;
  • random(): 获取随机数
$value:0.8721;
$value2:3.68;
$value3:4.278;
.test1{
percentage($value);
}
.test2{
round($value)+px;
}
.test3{
ceil($value);
}
.test4{
floor($value);
}
.test5{
abs($value);
}
.test6{
min($value,$value2,$value3);
}
.test7{
max($value,$value2,$value3);
}
.test8{
random();
}

编译后的css:

.test1 {  87.21%; }
.test2 {  1px; }
.test3 {  1; }
.test4 {  0; }
.test5 {  0.8721; }
.test6 {  0.8721; }
.test7 {  4.278; }
.test8 {  0.43515; }

列表函数简介

列表函数主要包括一些对列表参数的函数使用,主要包括以下几种:

  • length($list):返回一个列表的长度值; 个人认为可以理解js中数组的length;
  • nth($list, $n):返回一个列表中指定的某个标签值,不同于别的语言的是这个标签的值是从1开始的,而不是从0开始 个人认为可以理解js中数组的下标,只不过这个下标是从1开始 而不是从0开始;
  • join($list1, $list2, [$separator]):将两个列给连接在一起,变成一个列表;
  • append($list1, $val, [$separator]):将某个值放在列表的最后;
  • zip($lists…):将几个列表结合成一个多维的列表;
  • index($list, $value):返回一个值在列表中的位置值。

Introspection函数

Introspection 函数包括了几个判断型函数:

  • type-of($value):返回一个值的类型
  • unit($number):返回一个值的单位
  • unitless($number):判断一个值是否带有单位
  • comparable($number-1, $number-2):判断两个值是否可以做加、减和合并

1、type-of() 函数主要用来判断一个值是属于什么类型:

返回值:

  • number为数值型。
  • string为字符串型。
  • bool为布尔型。
  • color为颜色型。

2、unit() 函数主要是用来获取一个值所使用的单位,碰到复杂的计算时,其能根据运算得到一个“多单位组合”的值,不过只充许乘、除运算:

但加、减碰到不同单位时,unit() 函数将会报错,除 px 与 cm、mm 运算之外

unit() 函数对于单位运算相对来说也没有规律,而且有些单位也无法整合成一个单位,对于我们在 CSS 中运用中并不适合

换句话说,上面运算出来的单位,对于在 CSS 中使用将是没有任何意义的。

3、unitless() 函数相对来说简单明了些,只是用来判断一个值是否带有单位,如果不带单位返回的值为 true,带单位返回的值为 false

具体例子,见如下代码清单。如下代码实现的功能:用户在调用混合宏时,如果用户没有给参数值加上单位,程序会自动加入单位。

//SCSS
@mixin adjust-location($x, $y) {
  @if unitless($x) {    
    $x: 1px * $x;
  }
  @if unitless($y) {    
    $y: 1px * $y;
  }
  position: relative; 
  left: $x; 
  top: $y;
}

.botton{
    @include adjust-location(20px, 30);
}

//编译后的css
.botton {
  position: relative;  left: 20px;  top: 30px; }

4、comparable() 函数主要是用来判断两个数是否可以进行“加,减”以及“合并”。如果可以返回的值为 true,如果不可以返回的值是 false

Miscellaneous函数

在这里把 Miscellaneous 函数称为三元条件函数,主要因为他和 JavaScript 中的三元判断非常的相似。他有两个值,当条件成立返回一种值,当条件不成立时返回另一种值:

if($condition,$if-true,$if-false)

上面表达式的意思是当 $condition 条件成立时,返回的值为 $if-true,否则返回的是 $if-false 值。

>> if(true,1px,2px)
1px
>> if(false,1px,2px)
2px

免责声明:文章转载自《Sass中常用的函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇网页中图片大小自动调整三种方法Qt--- 一些常见问题处理(无法解析得外部符号,UI头文件找不到等)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

带你由浅入深探索webpack4(一)

 相信你或多或少也听说过webpack、gulp等这些前端构建工具。近年来webpack越来越火,可以说成为了前端开发者必备的工具。如果你有接触过vue或者react项目,我想你应该对它有所了解。 这几天我重新整理了一下webpack中知识点,把一些常用到的总结出来,希望能帮助到大家以及加深自己对webpack的理解。 (由于我在写这篇文章的时候webpa...

CSS3(七) 前端预处理技术(Less、Sass、CoffeeScript)

目录 一、Less 1.1、概要 1.2、变量 1.3、解析Less 1.3.1、在线处理 1.3.2、预处理 1.4、混入(Mixins) 1.5、嵌套    1.6、运算 1.7、函数 1.8、继承     1.9、作用域 1.10、注释 二、Sass 2.1、变量 2.2、嵌套 2.3、导入 2.4、mixin 混入 2.5、扩展/继承...

Chrome浏览器下调试SASS

网上说的方案各有各的说法,尝试多个才找到有效方案,为避免后来者麻烦,现在讲讲如何调试 笔者ruby版本为3.4.19,因为sass文件的编译是需要ruby环境的,使用sass前需要先安装! 第一步(核心):在sass文件目录下,执行命令如下(笔者图方便,简单命名为a.scss)                     sass --watch --scss...

Sublime Text 3 LESS、SASS、SCSS高亮插件、提示插件

为sublime text 添加LESS语法高亮 功能:LESS高亮插件 下载https://packagecontrol.io/packages/LESS 简介:用LESS的同学都知道,sublime没有支持less的语法高亮,所以这个插件可以帮上我们 使用:打开.less文件或者设置为less格式 为sublime text 添加SASS语法高亮 s...

scss 常用语法

点击查看 sass 官方文档 1.编译 初学可以在atom 中编译 安装命令 gem install sass atom中安装atom-sass ,mac 中“control+option+c”,windows中“Alt + Ctrl + c” 监控修改的样式文件; 在终端通过指令控制 sass --watch sass文件夹名:css文件夹名...

2-5 Sass 的 @ 规则

@import Sass 支持所有 CSS3 的 @ 规则, 以及一些 Sass 专属的规则,也被称为“指令(directives)”。 这些规则在 Sass 中具有不同的功效,详细解释如下。 @import Sass 扩展了 CSS 的 @import 规则,让它能够引入 SCSS 和 Sass 文件。 所有引入的 SCSS 和 Sass 文件都会被合...