Sass的基本运算(转载)

转载于:http://www.cnblogs.com/Medeor/p/4966952.html

Sass中的基本运算

一、加法

  在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行。但在 Sass 中,运算只是其基本特性之一。
      sass做加法运算是可以不考虑参数带单位,但需要单位同一
      加号可以不需要空格隔开

  示例:

Sass的基本运算(转载)
1 $sidebar- 220px;
2 $content- 720px;
3 $gap- 20px;
4 
5 .container {
6      $sidebar-width+$content-width + $gap-width;
7     margin: 0 auto;
8 }
Sass的基本运算(转载)

  输出:

1 .container {
2    960px;
3   margin: 0 auto; }

     + 还可以做字符链接
     注意,如果有引号的字符串被添加了一个没有引号的字符串 (也就是,带引号的字符串在 + 符号左侧), 结果会是一个有引号的字符串。 同样的,如果一个没有引号的字符串被添加了一个有引号的字符串 (没有引号的字符串在 + 符号左侧), 结果将是一个没有引号的字符串。 例如:

1 p:before {
2     content: "Foo " + Bar;
3     font-family: sans- + "serif";
4 }

  输出:

1 p:before {
2   content: "Foo Bar";
3   font-family: sans-serif; }

二、减法 - 需要注意空格了

  示例:

1 $full- 960px;
2 $sidebar- 200px;
3 
4 .content {
5      $full-width - $sidebar-width;
6 }

  输出:

1 .content {
2    760px; }

三、乘法

  能够支持多种单位(比如 em ,px , %);

  如果进行乘法运算时,两个值单位相同时,只需要为一个数值提供单位即可(多个乘数中只需要一个乘数提供单位,否则报错)。
  示例:

1 .box {
2      10px * 2;
3 }

  输出:

1 .box {
2    20px; }

四、除法

  众所周知“/”符号在 CSS 中已做为一种符号使用。因此在 Sass 中做除法运算时,直接使用“/”符号做为除号时,将不会生效,编译时既得不到我们需要的效果,也不会报错。
      需要给运算的外面添加一个小括号()才能执行除法运算

1 .box {
2      (100px / 2);
3 }

  总结: ”/  ”符号被当作除法运算符时有以下几种情况:
      如果数值或它的任意部分是存储在一个变量中或是函数的返回值。
      如果数值被圆括号包围。
      如果数值是另一个数学表达式的一部分。
      示例:

Sass的基本运算(转载)
1 p {
2      font: 10px/8px;             // 纯 CSS,不是除法运算
3      $ 1000px;
4       $width/2;            // 使用了变量,是除法运算
5       round(1.5)/2;        // 使用了函数,是除法运算
6      height: (500px/2);          // 使用了圆括号,是除法运算
7      margin-left: 5px + 8px/2px; // 使用了加(+)号,是除法运算
8 }
Sass的基本运算(转载)

  输出:

1 p {
2   font: 10px/8px;
3    500px;
4    1;
5   height: 250px;
6   margin-left: 9px; }

  Sass 的除法运算还有一个情况。先回忆一下,在乘法运算时,如果两个值带有相同单位时,做乘法运算时,出来的结果并不是我们需要的结果。但在除法运算时,如果两个值带有相同的单位值时,除法运算之后会得到一个不带单位的数值。  示例:

1 .box {
2      (1000px / 100px);    
3 }

  输出:

1 .box {
2    10; }

  练习:

.box {
     ((220px + 720px) - 11 * 20) / 12;
}
/*输出:*/
.box {
   60px; }

五、颜色运算 - 分段运算

  所有算数运算都支持颜色值,并且是分段运算的。也就是说,红、绿和蓝各颜色分段单独进行运算。如:

1 p {
2           color: #010203 + #040506;
3     }

    计算公式为 01 + 04 = 05、02 + 05 = 07 和 03 + 06 = 09, 并且被合一起

  示例:

1 p {
2      padding: 0px; color: rgb(0, 128, 0); line-height: 1.5 !important;">#012345 + #543210;
3     color:#123456 * 2;
4 }

  输出:

1 p {
2   background-color: #555555;
3   color: #2468ac; }