转载于: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. mysql - 其它

    1.mysql查看表字段和字段描述 SELECT column_name, column_comment FROM information_schema.columns WHERE table_sch ...

  2. Firefly安装ROS及ssh远程登录配置

    一.在Linux firefly 3.10.0 上安装ROS-indigo 快捷键 CTRL + ALT  + T 打开终端并安装ROS-indigo sudo sh -c 'echo "d ...

  3. DIOCP之编写第一个应用程序(一)

    Server 设计功能如下: 1.支持客户端登录 2.连接数据库进行操作 3.推送信息 4.限制文件上传大小 第一步:创建一个VCL-Forms Application(创建一个标准VCL程序) 第二 ...

  4. C# Graphics类详解

    转自于:http://blog.163.com/gis_warrior/blog/static/19361717320119227034181/ Brush 类.NET Framework 4定义用于 ...

  5. swt controls里的控件list

    swt controls里的控件list,怎么显示滚动条,并且滚动条自动移动到最下边时,显示最新内容 package com.jokul; import org.eclipse.swt.widgets ...

  6. RTTI 运行时类型识别 及异常处理

    RTTI   运行时类型识别 typeid  ------  dynamic_cast dynamic_cast 注意事项: 1.只能应用于指针和引用之间的转化 2.要转换的类型中必须包含虚函数 3. ...

  7. hdu4044 GeoDefense

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4044 题意:一个树上的塔防游戏.给你n个结点的树,你要在树结点上建塔防御,在第 i 个结点上有 ki ...

  8. C语言字符串拷贝

    C语言字符串拷贝利用指针操作,要清楚知道指针的指向 代码如下: #include <stdio.h> #include <assert.h> #include <stri ...

  9. iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了

    苹果系统升级后好多应用都发了新版本来适配,今天就来分享一下我的适配历程. 首先是出现的问题: 1.push一个控制器,返回按钮和标题神奇的消失了,打开三维视图(比较坑的是有的版本老到打不开三维视图 ) ...

  10. php单独编译扩展模块

    以pdo_mysql为例: 1.下载 文件 或者 进入 在PHP源码包中进入ext/pdo_mysql http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz 2.解压 ...