Sass基本特性--运算(加法、减法、乘法、除法、变量运算、数字运算、颜色运算、字符运算)

一、加法和减法可以在变量或属性中使用,em、rem相对于当前字体大小时不能和px进行运算,还有百分号%也不行,若一个带单位一个不带单位则以带单位的为准

$content: 720px;
$header : 220px;
$search: 20px;
.container {
    width: $content + $header - $search;
}
.box{
   width: 50px + 100;
}
编译后
.container {
  width: 920px;
}

.box {
  width: 150px;
}
注意项: 使用减法时,减号左边一定要空格隔开,不然会和前面的内容进行拼接,建议不管是哪种运算,在运算符的两边都预留空格,这样即规范看着也舒服。

二、乘法,支持多种单位(比如 em ,px , %)

.month{
  height: 50 * 2px;
}
$list: year,month,day,hour;
@for $i from 1 through length($list){
  .time-#{nth($list,$i)}{
    background-postion: 0 -10px * $i;
  }
}
编译后
.month {
  height: 100px;
}

.time-year {
  background-postion: 0 -10px;
}

.time-month {
  background-postion: 0 -20px;
}

.time-day {
  background-postion: 0 -30px;
}

.time-hour {
  background-postion: 0 -40px;
}

乘法运算时,只需给一个计算项带上单位即可,若每一项都带单位则会报错。

三、除法,"/"在css中已经作为了符号使用,这种情况下必须加上小括号()才行,不然不报错也不进行运算,而是原样输出

.box{
   width: 100px / 2;
}
.box1{
   width: (100px / 2);
}
编译后
.box {
  width: 100px / 2;
}

.box1 {
  width: 50px;
}
除了使用()外,"/"在已有的表达式中也会被直接当做除号使用,另外在变量中进行除法运算时"/"会自动识别成除法不用加小括号()
$header : 20px;
$search: 20px;
$width: 360px;
.samu{
  width: $header + $width / $search;
}
.qwe {
   width: $width /10;
}
编译后
.samu {
  width: 38px;
}

.qwe {
  width: 36px;
}
乘法中运算项都带单位时会报错,但除法不会,它会进行计算,计算的结果将不会带单位
.dell{
  width: (1000px / 10px);
}
编译后
.dell {
  width: 100;
}
除法还可以使用函数
.sup{
  width: round(2.3) / 1;
}
编译后
.sup {
  width: 2;
}

加、减、乘、除都必须是同一单位下运算,不然会报错。

Sass基本算法:
加法:对于不同类型的单位,计算会报错;
减法:对于不同类型的单位,计算会报错;
乘法:对于不同类型的单位,计算会报错;多个值单位相同时,只需要为一个值提供单位即可。
除法:  
1.   如果数值或它的任意部分是存储在一个变量中或是函数的返回值。
2.   如果数值被小括号包围。
3.   如果数值是数学表达式的一部分。

也可以进行混合运算

.box {
  width: ((200px + 220px) - 10* 20 ) / 10 ;  
}
编译后
.box {
  width: 22px;
}
四、颜色运算,所有算数运算都支持颜色运算,它所采用的是分段运算
.span {
  color: #010203 + #040506;
}
.span2 {
  color: #010203 * 2;
}
.cf3 {
  background: red + blue;
}
.cf4{
  background: #ff0000 + #ffff00; // 最高只能加到ff
}
编译后
.span {
  color: #050709;
}
.span2 {
  color: #020406;
}
.cf3 {
  background: magenta; //洋红色
}
.cf4 {
  background: yellow; //黄色
}
五、字符运算,sass中使用加号+进行字符拼接,可在变量中使用也可直接连接字符
$content: "Hello" + " " + "World !";
.box:before {
  content: $content;
}
.box2{
  cursor: col  + -resize;
}
.box3{
  font-size: "12" + "px";
}
编译后
.box:before {
  content: "Hello World !";
}
.box2 {
  cursor: col-resize;
}
.box3 {
  font-size: "12px";
}
连接有引号”“的字符串时,跟着+走(+左边有引号则结果有引号,+左边没引号则结果没引号)
.box4{
  font-family: "sans-" + serif;
}
.box5{
  font-family: sans- + "serif";
}
编译后
.box4 {
  font-family: "sans-serif";
}
.box5 {
  font-family: sans-serif;
}


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值