1-5 Sass的基本特性-运算

less和sass的区别 Less:使用 “@” 符号定义变量,例如@color: blue;。Sass: 使用“”符号定义变量,例如”符号定义变量,例如符号定义变量,例如color:blue;。 阅读详情
[Sass运算]加法

程序中的运算是常见的一件事情,但在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行。但在 Sass 中,运算只是其基本特性之一。在 Sass 中可以做各种数学计算,在接下来的章节中,主要和大家一起探讨有关于 Sass 中的数学运算。

(一)、加法

加法运算是 Sass 中运算中的一种,在变量或属性中都可以做加法运算。如:

.box {
  width: 20px + 8in;
}

编译出来的 CSS:

.box {
  width: 788px;
}

但对于携带不同类型的单位时,在 Sass 中计算会报错,如下例所示:

.box {
  width: 20px + 1em;
}

编译的时候,编译器会报错:“Incompatible units: 'em' and ‘px'.”

[Sass运算]减法

Sass 的减法运算和加法运算类似,我们通过一个简单的示例来做阐述:

$full-width: 960px;
$sidebar-width: 200px;

.content {
  width: $full-width -  $sidebar-width;
}

编译出来的 CSS 如下:

.content {
  width: 760px;
}

同样的,运算时碰到不同类型的单位时,编译也会报错,如:

$full-width: 960px;

.content {
  width: $full-width -  1em;
}

编译的时候,编译器报“Incompatible units: 'em' and ‘px’.”错误。

[Sass运算]乘法

Sass 中的乘法运算和前面介绍的加法与减法运算还略有不同。虽然他也能够支持多种单位(比如 em ,px , %),但当一个单位同时声明两个值时会有问题。比如下面的示例:

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

编译的时候报“20px*px isn't a valid CSS value.”错误信息。

如果进行乘法运算时,两个值单位相同时,只需要为一个数值提供单位即可。上面的示例可以修改成:

.box {
  width: 10px * 2;
}

编译出来的 CSS:

.box {
  width: 20px;
}

Sass 的乘法运算和加法、减法运算一样,在运算中有不同类型的单位时,也将会报错。如下面的示例:

.box {
  width: 20px * 2em;
}

编译时报“40em*px isn't a valid CSS value.”错误信息。

[Sass运算]除法

Sass 的乘法运算规则也适用于除法运算。不过除法运算还有一个特殊之处。众所周知“/”符号在 CSS 中已做为一种符号使用。因此在 Sass 中做除法运算时,直接使用“/”符号做为除号时,将不会生效,编译时既得不到我们需要的效果,也不会报错。一起先来看一个简单的示例:

.box {
  width: 100px / 2;  
}

编译出来的 CSS 如下:

.box {
  width: 100px / 2;
}

这样的结果对于大家来说没有任何意义。要修正这个问题,只需要给运算的外面添加一个小括号( )即可:

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

编译出来的 CSS 如下:

.box {
  width: 50px;
}

除了上面情况带有小括号,“/”符号会当作除法运算符之外,如果“/”符号在已有的数学表达式中时,也会被认作除法符号。如下面示例:

.box {
  width: 100px / 2 + 2in;  
}

编译出来的CSS:

.box {
  width: 242px;
}

另外,在 Sass 除法运算中,当用变量进行除法运算时,“/”符号也会自动被识别成除法,如下例所示:

$width: 1000px;
$nums: 10;

.item {
  width: $width / 10;  
}

.list {
  width: $width / $nums;
}

编译出来的CSS:

.item {
  width: 100px;
}

.list {
  width: 100px;
}

综合上述,”/  ”符号被当作除法运算符时有以下几种情况:

•    如果数值或它的任意部分是存储在一个变量中或是函数的返回值。
•    如果数值被圆括号包围。
•    如果数值是另一个数学表达式的一部分。

如下所示:

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

编译出来的CSS

p {
  font: 10px/8px;
  width: 500px;
  height: 250px;
  margin-left: 9px;
 }


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

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

编译出来的CSS如下:

.box {
  width: 10;
}

[Sass运算]变量计算

在 Sass 中除了可以使用数值进行运算之外,还可以使用变量进行计算,其实在前面章节的示例中也或多或少的向大家展示了。在 Sass 中使用变量进行计算,这使得 Sass 的数学运算功能变得更加实用。一起来看一个简单的示例:

$content-width: 720px;
$sidebar-width: 220px;
$gutter: 20px;

.container {
  width: $content-width + $sidebar-width + $gutter;
  margin: 0 auto;
}

编译出来的CSS

.container {
  width: 960px;
  margin: 0 auto;
}

[Sass运算]数字运算

在 Sass 运算中数字运算是较为常见的,数字运算包括前面介绍的:加法、减法、乘法和除法等运算。而且还可以通过括号来修改他们的运算先后顺序。和我们数学运算是一样的,一起来看个示例。

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

编译出来的 CSS:

.box {
  width: 60px;
}

上面这个简单示例是一个典型的计算 Grid 单列列宽的运算

[Sass运算]颜色运算

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

p {
  color: #010203 + #040506;
}

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

如此编译出来的 CSS 为:

p {
  color: #050709;
}

算数运算也能将数字和颜色值 一起运算,同样也是分段运算的。如:

p {
  color: #010203 * 2;
}

计算公式为 01 * 2 = 02、02 * 2 = 04 和 03 * 2 = 06, 并且被合成为:

p {
  color: #020406;
}

[Sass运算]字符运算

在 Sass 中可以通过加法符号“+”来对字符串进行连接。例如:

$content: "Hello" + "" + "Sass!";
.box:before {
  content: " #{$content} ";
}

编译出来的CSS:

.box:before {
  content: " Hello Sass! ";
}

除了在变量中做字符连接运算之外,还可以直接通过 +,把字符连接在一起:

div {
  cursor: e + -resize;
}

编译出来的CSS:

div {
  cursor: e-resize;
}

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

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

编译出来的 CSS:

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

小伙伴们,到此为止《sass基础入门(基础篇)》的课程已经全部讲解完了,后面还有《sass基础入门(进阶篇)》即将上线,欢迎小伙伴们到时学习。

2023华为od机试C卷【启动多任务排序】C++ 实现 一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。 阅读详情

相关推荐

推荐系统(1):推荐系统评测

对于可以离线优化的指标,我个人的看法是应该在给定覆盖率、多样性、新颖性等限制条件下,尽量优化预测准确度。用一个数学公式表达,离线实验的优化目标是:最大化预测准确度使得 覆盖率 > A多样性 > B新颖性 > C其中,A、B、C的取值应该视不同的应用而定。

数据不会骗人 2527

CSS 预处理语言之 Scss 篇

简介 1. Sass 和 Scss Sass 和 Scss 其实是同一种东西,我们平时都称之为 Sass;Scss 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 Scss文件。 两者之间不同之处有以下两点: 文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 Scss 是以“...

blog_Y的博客 574

2024最新版:MacOS Sonoma系统下CocoaPods安装全攻略(解决Ruby版本冲突)

本文详细介绍了在MacOS Sonoma系统下安装CocoaPods的全过程,重点解决Ruby版本冲突问题。通过HomeBrew安装最新Ruby版本,配置环境变量,并正确安装CocoaPods,帮助iOS开发者顺利管理项目依赖。文章还提供了常见问题的解决方案和优化配置建议,确保开发环境的稳定性和高效性。

lll78的博客 1042

SCSS基础

$ 定义变量,变量名:变量值 如果变量嵌套在字符串中,则必须写在#{}里面: $m-r:right; body{ width:200px; height:200px; margin-#{$m-r}: 40px; postion:absolute; #{$m-r}:0; } 注:属性嵌套必须是复合属性. 想要给属性加悬停不能直接在属性名后面加:hover,需要使用&来表示父级元素的属性名称 button{ width:100px;

weixin_53125449的博客 275

ARM芯片内部的高速公路:手把手教你用AMBA Designer配置NIC-400互连控制器

本文详细介绍了如何使用AMBA Designer工具配置ARM芯片中的NIC-400互连控制器,涵盖从基础拓扑构建到高级QoS设置的完整流程。通过实际案例演示,帮助开发者掌握AXI协议下的高效片上网络设计,提升SoC性能与能效比。

weixin_26750481的博客 314

FINN vs GFED vs GFAS vs QFED:四大火灾排放清单实战对比(含Python数据处理代码)

本文针对GFED、FINN、GFAS、QFED四大主流火灾排放清单,提供了实战对比分析与Python数据处理代码。通过量化对比东南亚农业火点与亚马逊雨林大火两个典型场景,揭示了不同清单在时空分辨率、算法内核和应用场景上的核心差异,并给出了基于研究目标、区域和模型的清单选择决策框架,帮助研究人员为空气质量模拟或火灾影响评估挑选最合适的数据源。

s3t4u的博客 422

scss运算

SassScript 支持数字的加减乘除、取整等运算 (+, -, *, /, %),如果必要会在不同单位间转换值。

weixin_42017221的博客 2856

qemu-system-aarch64参数详解与实战配置指南

本文详细解析了qemu-system-aarch64的核心参数,包括-machine、cpu、smp、m、drive和netdev等关键配置。通过嵌入式内核调试、完整系统运行和外设模拟三大实战场景,提供可直接使用的配置示例与性能优化技巧,帮助开发者在x86主机上高效构建和调试ARM64虚拟环境。

weixin_29197051的博客 353

【SCSS】常用的SCSS语法

CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题”Sass是采用Ruby语言编写的一款CSS预处理语言Sass和SCSS其实是同一种东西,我们平时都称之为Sass,两者之间不同之处有以下两点。...

郊眠寺 2269

浅析ArcGis中的软件——ArcMap、ArcScene、 ArcGlobe、ArcCatalog

ArcMap:是集空间数据显示、矢量数据编辑、冲突数据检查(拓扑检查)、查询检索(地理编码)、统计(字段属性表)、报表生成、空间分析(ArcGIS Spatial Analyst)和高级制图(制图表达)等众多功能干一体的桌面应用平台软件。而且提供所见即所得的符号编辑器,令用户可以随心所欲地生成任意复杂的点、线、面符号。所支持的空间数据格式包括Arclnfo coverages、ESRI shapefiles、ArcSDE lavers、DXF、DWG、DGN、常见的图像格式、GRIDs、TINs等。

lxlmycsdnfree的博客 6566

从 AccessControl.authorizationCheck 读懂 ABAP CDS 访问控制:默认策略、取舍边界与一线项目实战

摘要: 本文深入解析ABAP CDS视图中@AccessControl.authorizationCheck注解的核心功能与工程实践。该注解通过DCL角色实现行级数据过滤,提供三类能力:控制访问生效条件、约束语义一致性及管理特权访问。文章详述四种注解取值(#CHECK、#NOT_REQUIRED、#NOT_ALLOWED、#PRIVILEGED_ONLY)的适用场景与默认行为,并结合采购订单案例演示DCL与PFCG授权的落地步骤。同时指出访问控制的边界问题(如JOIN场景可能绕过过滤),并给出视图层级决策矩

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 263

scss 数学运算,加减乘除运算

scss简单数学运算

wangdan_2013的博客 1万+

RK3568平台YOLOv11模型部署全流程实战:环境搭建、模型转换与性能优化解析

在AI边缘计算领域,瑞芯微RK3568芯片凭借其强大的NPU算力和丰富的接口资源,成为了众多开发者的首选平台。然而,瑞芯微官方文档虽然提供了YOLO11预训练模型的部署方案,但对于需要自定义数据集训练的开发者来说,从模型训练到板端部署的完整流程却缺乏详细指导。本文将带你走完从环境搭建、数据准备、模型训练到最终板端部署的完整技术路线,并分享实际开发中遇到的各种坑点和解决方案。让我们一起探索如何在RK3568平台上实现30FPS稳定推理的YOLO11目标检测应用!

LXY_LOVE36的博客 123

【Sass学习笔记】005-Sass 的基本特性-运算

文章目录五、Sass 的基本特性-运算1 加法2 减法3 乘法4 除法5 变量计算6 数字运算7 颜色运算8 字符运算 五、Sass 的基本特性-运算 程序中的运算是常见的一件事情,但在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行。但在 Sass 中,运算只是其基本特性之一。在 Sass 中可以做各种数学计算,在接下来的章节中,主要和大家一起探讨有关于 Sass 中的数学运算。 1 加法 加法运算是 Sass 中运算中的一种,在变量或属性中都可以做加法运算。如: .box { wi

訾博(ZiBo)的博客 451

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

sass的特性及基本使用

1、Sass特性 完美兼容CSS 语言扩展,如变量,嵌套和mixin 用于操作颜色和其他值的许多有用的函数 高级功能,如库的控制指令 格式良好,可定制的输出 2、主要数据类型 数字: 1.2 、 12px 文本字符串(引号并不影响): foo 、 "foo" 、'foo' 颜色:red、#6699cc、rgba(0,0,0,0.5) 布尔值:true、false 空值: null 多值,以逗号...

lgrrrr的博客 1213

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Sass 基本特性-运算 感觉满满都是坑

Sass中的基本运算 一、加法   在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行。但在 Sass 中,运算只是其基本特性之一。 sass做加法运算是可以不考虑参数带单位,但需要单位同一 加号可以不需要空格隔开   示例: 1 $sidebar-width: 220px; 2 $content-width: 720px; 3 $gap...

279

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Sass运算

1.加法 加法运算是 Sass 中运算中的一种,在变量或属性中都可以做加法运算。如: .box { width: 20px + 8in; } 编译出来的 CSS: .box { width: 788px; } 但对于携带不同类型的单位时,在 Sass 中计算会报错,如下例所示: .box { width: 20px + 1em; } 2.减法 Sass 的减法运算和加法运算类似,...

xiamoziqian的博客 2737

Sass 的基本特性

Sass 的基本特性

aaa333qwe的博客 893

Sass语法介绍-运算

运算从我们小时候就开始学习了,那在 Sass 中的运算是什么呢?在我们写样式的时候,很多场景我们是需要用到计算的,而一般我们都是通过 javascript 来计算,CSS3 中也提供了用于运算的函数 calc() ,可能在工作中你使用过这个函数用来计算长度值,能用到的地方也非常有限。而在 Sass 中,扩展出了很多计算方法,使得你不止是可以计算长度值,还能做一些关系运算甚至颜色值的运算等等。这使我们可以把运算应用于更多的场景,来解决更复杂的问题,运算。

热情、奔放、快乐编程! 866

Sass进阶:深入解析Sass的实用特性与操作技巧

通过学习和掌握Sass的变量、嵌套、混合、继承、运算等特性以及条件语句、循环、导入等实用操作技巧,你可以更好地组织和管理样式代码,提高开发效率。同时,Sass在实际开发中具有广泛的应用场景,如样式库和框架开发、主题定制、媒体查询和响应式设计以及代码重用和模块化等。Sass(Syntactically Awesome Stylesheets)是一种CSS预处理器,它使用Ruby语言编写,允许你使用变量、嵌套规则、混合(mixin)等功能,让CSS更易读、易维护,并且提供了许多强大的功能。

铭渊老黄 1275

SASS基本概念

1.SASS开篇 1.什么是SASS(Syntactically Awesome Stylesheets Sass)? SASS是一套利用Ruby实现的, 最早最成熟的CSS预处理器, 诞生于2007年. 它扩展了 CSS 语言,增加了变量、Mixin(混合)、嵌套、函数和运算等特性,使 CSS 更易维护和扩展 2.如何学习SASS? LESS是一套利用JavaScript实现的C...

Cao_Mary的博客 1223

sass学习--基本特性(基础篇)

整理sass的基本特性:变量、嵌套、混合、继承、占位符、插值、注释、数据类型、运算等9个知识点!理清各个特性的使用场景和使用技巧!

macanfa的博客 7648
上一篇: 1-4 Sass的基本特性-基础
下一篇: 2-1 Sass的控制命令
github_39294367
博客等级 码龄9年 33粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值