Sass的基本运算(转载)
转载于: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的基本运算(转载)的更多相关文章
- sass基本用法(转载)
SASS入门教程及用法指南 2014年8月27日 8489次浏览 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家都知道,js中可以自定义变量,css仅仅是一个标记语言,不是 ...
- sass揭秘之@mixin,%,@function(转载)
因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 在阅读本文章之前,请先确认你已经阅读了上篇文章sass揭秘之变量,不然会给你 ...
- sass揭秘之@if,@for,@each(转载)
因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 经过上两篇揭秘,大家心里对sass应该有了很好的认知感了,这篇文章基于前面两 ...
- 【转载】解决Cannot download "https://github.com/sass/node-sass/releases/download...问题
因很早做了一个小demo,并且在其他成熟的电脑上(node配置好的)下载依赖包没什么问题,最近就在新的电脑上配置好所有东西后,去下载这个demo的依赖包,就出现了node-sass无法正常解析的问题, ...
- sass揭秘之变量(转载)
出处:http://www.w3cplus.com/preprocessor/sass-basic-variable.html 因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sas ...
- Sublime插件支持Sass编译和Babel解析ES6 & .sublime-build文件初探(转载自imwtr)
原文请看:http://www.cnblogs.com/imwtr/p/6010550.html 用Sublime Text蛮久了,配置配来配去的,每次换电脑都得重头再配过,奈何人老了脑子不中用了 ...
- 【转载】预处器的对比——Sass、LESS和Stylus
常用的3大css预编译器:Sass.LESS和Stylus,你是否会混淆它们的区别和用法.这里有篇文章介绍的挺详细. 传送门:https://www.w3cplus.com/css/sass-vs-l ...
- 解锁技能:sass + node-sass多页面应用编译(转载)
传送门:https://blog.csdn.net/wx11408115/article/details/78023466
- 前端入门23-CSS预处理器(Less&Sass)
声明 本篇内容梳理自以下几个来源: Github:smyhvae/web Bootstrap网站的 less 文档 Sass中文网 感谢大佬们的分享. 正文-CSS预处理(less&Sass) ...
随机推荐
- 9.Mybatis一级缓存和二级缓存
所谓的缓存呢?其实原理很简单,就是在保证你查询的数据是正确的情况下,没有去查数据库,而是直接查找的内存,这样做有利于缓解数据库的压力,提高数据库的性能,Mybatis中有提供一级缓存和二级缓存. 学习 ...
- &&和||的妙用
在js逻辑运算中,0."".null.false.undefined.NaN都会判为false,其他都为true 几乎所有语言中||和&&都遵循“短路”原理,如&a ...
- thinkphp 验证
//YongHuModel.class.php namespace Home\Model; use Think\Model; class YongHuModel exstends Model { pr ...
- 博弈SG
先转一篇看得比较懂的,以后有时间自己再归纳下 转自:http://blog.csdn.net/logic_nut/article/details/4711489 博弈问题若你想仔细学习博弈论,我强烈推 ...
- Coursera 机器学习课程 机器学习基础:案例研究 证书
完成了课程1 机器学习基础:案例研究 贴个证书,继续努力完成后续的课程:
- UITextField常用属性归纳:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等
(1)可以根据需要设置文本框的样式(包括形状.边框颜色.背景等). (2)可以根据需要设置文字显示样式(包括输入密码时的密文显示.文字横向居中.纵向居中上下.输入的文字是否首席木大写.文字超过后是否缩 ...
- [goa]golang微服务框架学习--安装使用
当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题. 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码, ...
- Tomcat双向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端超安全通信
紧接着<Tomcat单向Https验证搭建,亲自实现与主流浏览器.Android/iOS移动客户端安全通信>,此处演示下更安全的双向Https认证的通信机制,为了清晰明了,以下进行单独描述 ...
- 《VB语言程序设计(第3版)》总结
我之前因学习昆仑通态的组态软件MCGS,用并学习过VB,还买了一本书<VB语言程序设计(第3版)>.现在在某公司实习,最近接触老的项目,又要用到VB.我就又把那本书大体看了一遍,并对其进行 ...
- 把文件打成zip或然rar下载 (详询请加qq:2085920154)
//文件打包下载 public static HttpServletResponse downLoadFiles(List<File> files, HttpServletRequest ...