Sass中常用的函数

字符串函数

  • 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{
width:percentage($value);
}
.test2{
width:round($value)+px;
}
.test3{
width:ceil($value);
}
.test4{
width:floor($value);
}
.test5{
width:abs($value);
}
.test6{
width:min($value,$value2,$value3);
}
.test7{
width:max($value,$value2,$value3);
}
.test8{
width:random();
}

编译后的css:

.test1 { width: 87.21%; }
.test2 { width: 1px; }
.test3 { width: 1; }
.test4 { width: 0; }
.test5 { width: 0.8721; }
.test6 { width: 0.8721; }
.test7 { width: 4.278; }
.test8 { width: 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

 

posted @ 2016-07-27 15:28  ヤTop灬ヽ  阅读(885)  评论(0编辑  收藏  举报