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

Sass中的基本运算

一、加法

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

  示例:

1 $sidebar-width: 220px;
2 $content-width: 720px;
3 $gap-width: 20px;
4
5 .container {
6 width: $sidebar-width+$content-width + $gap-width;
7 margin: 0 auto;
8 }

  输出:

1 .container {
2 width: 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-width: 960px;
2 $sidebar-width: 200px;
3
4 .content {
5 width: $full-width - $sidebar-width;
6 }

  输出:

1 .content {
2 width: 760px; }

三、乘法

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

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

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

  输出:

1 .box {
2 width: 20px; }

四、除法

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

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

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

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

  输出:

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

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

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

  输出:

1 .box {
2 width: 10; }

  练习:

.box {
width: ((220px + 720px) - 11 * 20) / 12;
}
/*输出:*/
.box {
width: 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; }

Sass的基本运算(转载)的更多相关文章

  1. sass基本用法(转载)

    SASS入门教程及用法指南 2014年8月27日 8489次浏览 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家都知道,js中可以自定义变量,css仅仅是一个标记语言,不是 ...

  2. sass揭秘之@mixin,%,@function(转载)

    因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 在阅读本文章之前,请先确认你已经阅读了上篇文章sass揭秘之变量,不然会给你 ...

  3. sass揭秘之@if,@for,@each(转载)

    因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 经过上两篇揭秘,大家心里对sass应该有了很好的认知感了,这篇文章基于前面两 ...

  4. 【转载】解决Cannot download "https://github.com/sass/node-sass/releases/download...问题

    因很早做了一个小demo,并且在其他成熟的电脑上(node配置好的)下载依赖包没什么问题,最近就在新的电脑上配置好所有东西后,去下载这个demo的依赖包,就出现了node-sass无法正常解析的问题, ...

  5. sass揭秘之变量(转载)

    出处:http://www.w3cplus.com/preprocessor/sass-basic-variable.html 因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sas ...

  6. Sublime插件支持Sass编译和Babel解析ES6 & .sublime-build文件初探(转载自imwtr)

    原文请看:http://www.cnblogs.com/imwtr/p/6010550.html   用Sublime Text蛮久了,配置配来配去的,每次换电脑都得重头再配过,奈何人老了脑子不中用了 ...

  7. 【转载】预处器的对比——Sass、LESS和Stylus

    常用的3大css预编译器:Sass.LESS和Stylus,你是否会混淆它们的区别和用法.这里有篇文章介绍的挺详细. 传送门:https://www.w3cplus.com/css/sass-vs-l ...

  8. 解锁技能:sass + node-sass多页面应用编译(转载)

    传送门:https://blog.csdn.net/wx11408115/article/details/78023466

  9. 前端入门23-CSS预处理器(Less&Sass)

    声明 本篇内容梳理自以下几个来源: Github:smyhvae/web Bootstrap网站的 less 文档 Sass中文网 感谢大佬们的分享. 正文-CSS预处理(less&Sass) ...

随机推荐

  1. Android笔记之——消息Toast

    java: package com.example.myapplication;import android.support.v7.app.AppCompatActivity;import andro ...

  2. 右键添加"用vim打开"文件选项

    保存一个foo.reg文件 ==================== Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\Shell\e ...

  3. [转载] Android随笔之——PackageManager详解

    本文转载自: http://www.cnblogs.com/travellife/p/3932823.html 参考:http://www.cnblogs.com/xingfuzzhd/p/33745 ...

  4. Endless Sky源码学习笔记-5

    游戏启动后的UI划分为三个区域,左侧滚动显示credits等信息以及偏好设置和退出按钮,中间显示载入动画,右侧显示玩家信息以及载入存档按钮,调用void MenuPanel::Draw()实现.首先画 ...

  5. 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址

    驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...

  6. 手机版 div拖动

    <!doctype html> <html> <head> <title></title> <script type="te ...

  7. hdu 3579 Hello Kiki (中国剩余定理)

    Hello Kiki Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. Activity之间传递参数(四)

    --------siwuxie095 获取Activity的返回参数 1.首先修改两个布局文件,都修改为 LinearLayout 布局, 添加orientation属性为:vertical. (1) ...

  9. Session过期、失效时间

    Session一直是我们做web项目经常使用的,以前没太注意,这次又细致的看了下! 1.session其实就是一个Map,键=值对,通过session.getAttribute("name& ...

  10. css 清除浮动最佳方法!

    .clear:after{content:'\0020';display:block;height:0;clear:both} .clear{*zoom:1}