转载于: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. 修改maven默认的JDK编译版本

    1.全局模式(settings.xml) <profiles> <profile> <id>jdk-1.8</id> <activation> ...

  2. php中$row=mysql_fetch_row()出错问题

    在写php时用到这样一个问题,代码如下: $sql="select * from sina"; mysql_connect("localhost"," ...

  3. Python3

    1.上节内容回顾 递归: 明确的结束条件 问题规模每递归一次都应该比上一次的问题规模有所减少 效率低 高阶函数 文件: rb.wb.ab 一般用在不同系统之间传数据,和传视频流的时候用到,一般以这种形 ...

  4. Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等

    此案例主要说的是Android使用GridView加载SD卡下所有目录,文件夹多层遍历,文件图标修改,设置文件对应打开方式等功能. 如图: 代码: public class GridViewFile ...

  5. VoLTE 注册流程

    1.开关按钮位置:   设置--> 更多--> 移动网络--> 增强型4G LTE模式 2.该设置开关使用了SwitchPreference控件,addEnhanced4GLteSw ...

  6. redis集群安装

    1.普通安装 安装环境 centos 6.8 1.安装必要包 yum install gcc yum -y install wget 2.下载解压 wget http://download.redis ...

  7. LSD-SLAM深入学习(2)-算法解析

    前言 在LSD-SLAM深入学习(1)中我们已经完成基本的安装与测试,在此我们继续解析算法与代码,由于lsd-slam本身利用了一部分李群与李代数的知识,需要一定的数学功底. 个人理解错误的地方还请不 ...

  8. 使用Axis2 插件 报错"An error occurred while completing process -java.lang.reflect.InvocationTargetException"

    参考 http://blog.csdn.net/sunitjy/article/details/6793654

  9. Asp.Net MVC4入门指南(7):给电影表和模型添加新字段

    在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...

  10. CString 字符串截取_函数

    CString res;CString str = _T("abcdefghijklmn"); res = str.Mid(2,3);  //从第3位字母开始,共取3个字符ASSE ...