SASS 和 SCSS 的区别

news/2024/10/31 3:22:59/

原文

Difference Between SASS and SCSS

SASS(Syntactically Awesome Style Sheets)是一种由 Hampton Catlin 设计、Chris Eppstein 和 Natalie Weizenbaum 开发的样式表语言。 它是一种预处理器脚本语言,将被编译或解释为 CSS。 Sass Script 本身就是一种脚本语言。 它的 typing 规则是动态的。

SCSS 通常被称为 Sassy CSS,它是作为 SASS(Syntactically Awesome Style Sheets)的主要语法引入的,它建立在现有的 CSS 语法之上。 它使用分号和括号,如 CSS(级联样式表)。 SCSS 是 CSS 的超集,即所有 CSS 功能都将在 SCSS 中可用,并且包含 SASS(Syntactically Awesome Style Sheets)的一些功能。 SCSS 使任何 CSS 术语都有效。

9 大区别:

区别1

SASS是Syntactically Awesome Style Sheets,是CSS的扩展,提供嵌套规则、继承、Mixins等特性,而SCSS是Sassy Cascaded Style Sheets,与CSS类似,填补了CSS与SASS之间的空白和不兼容。 它是在 MIT 许可下获得许可的。它首次出现在2006年。

区别2

SASS 更易于使用且语法更简单,因此无需使用分号、曲线、大括号等,而 SCSS 与 CSS 完全兼容,文件扩展名为 .scss 类型。

区别3

SASS 具有最好的编码标准和良好的官方文档的特点,而 SCSS 更容易学习开发代码。

区别4

SASS 基于 javascript 并支持不同的语言扩展,拥有自己的语法、开源 CSS 预处理器和高级功能,例如控制和指令及其库。

区别5

SASS 更难通过重写代码与现有 CSS 项目集成,而 SCSS 通过采样添加新代码而不是重写现有代码库更容易与现有代码库集成。

区别6

SASS 更易于使用、阅读和编写,而 SCSS 在实现代码方面更具逻辑性和复杂性。

区别7

SASS 变量将以美元 ($) 符号开头,而 SCSS 具有模块化功能,可以通过使用某种注释以更加模块化的方式组织代码。

区别8

SASS 具有高级语法功能,并且其文件具有 .sass 扩展名,而 SCSS 具有类似每个有效 CSS 文件都是 SCSS 文件的功能。

区别9

SASS 与 Ruby 相似,安装需要使用 Ruby,没有严格的代码缩进,而 SCSS 与 CSS 相似,无需任何额外安装或配置即可轻松使用。

区别10

SASS 具有可在 CSS 文件的不同位置使用的局部和全局变量,而 SCSS 具有不同的变量,例如颜色变量,这些变量可以稍后在样式表中使用。

区别11

SASS 具有嵌套功能,可以将 CSS 选择器嵌套显示在 HTML 中,并且难以维护较长的分层嵌套 CSS,而 SCSS 可以处理多个类和不同的嵌套样式。

区别12

SASS 具有文档样式,它比 CSS 更好,并且具有颜色、属性和参数列表的操作功能,而 SCSS 语法具有边距、列表样式、填充、显示等。

区别13

SASS 具有控制指令、功能指令、Mixins 并具有可扩展的特性,而 SCSS 可以与 SASS 一起使用来表示 CSS 类似的特性。

区别14

在最初的开发之后,SASS 扩展到 SassScript。 它支持跨平台操作系统。 它受到CSS、LESS、YAML等的影响。这个SASS的文件扩展名是.scss和.sass,它的官方实现也是一个使用Ruby开发的开源项目。

结论

SASS 与 SCSS 都是 CSS 预处理器,它们非常有用,可包含在基于 CSS 的 UI(用户界面)或前端框架中以简化开发。 这些 SASS 与 SCSS 框架在以编程方式利用强大的 CSS 功能时在高级别的 CSS 功能方面提供了强大的功能。 SASS 是一种 CSS 扩展,其中大部分功能都将被扩展,而 SCSS 是 CSS 的一种超集,其中 CSS 的所有功能都将在 SCSS 中。 预处理器的选择取决于通过以有效的方式做出权衡选择来使应用程序高效工作所需的功能和特性。

与SCSS相比,SASS更易于使用并且需要更少的语法或配置,推荐用于需要更快开发范围和更容易开发复杂组件的较大应用程序的情况,而SCSS可以用于优化Mixin特性的情况,以及许多其他有效技术。


http://www.ppmy.cn/news/307845.html

相关文章

秒懂设计模式之装饰者模式(Decorator Pattern)

定义 装饰模式是在不必改变原类和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象 使用场景 需要在运行时动态的给一个对象增加额外的职责时候需要给一个现有的类增加职责,但是又不想通过…

SSD7~

又搬来了一个适合嵌入式的框架哦 对计算和内存的高需求是将现有目标检测网络部署到嵌入式设备中的最大挑战。现有的轻量级目标检测器直接使用轻量级神经网络架构,如MobileNet或在大尺度分类数据集上预先训练,导致网络结构灵活性差,不适用于某…

iOS开发 静态库和动态库

库是程序代码的集合,是程序开发者与其他开发者之间进行代码共享的一种方式。库根据源代码的公开情况可以分为开源库和闭源库。开源库的源代码可见,比如afnetworking;闭源库的源代码不可见,是一段编译好的二进制代码。闭源库又根据…

C#学习笔记(七):ListProduct list = new ListProduct()

// 商品集合信息List<Product> list new List<Product>(){new Product() {Id 1,Name "IPhone4",Price 1999,Remark "心动不如行动"},new Product() {Id 2,Name "IPhone4s",Price 2999,Remark "心动不如行动"},ne…

js中文对象数组转换为普通数组对象

后台返回的是这样的都是中午并且是动态的&#xff0c;都没有属性值 {“颜色”:[“红色}”,“黑色”],“型号”:[“iphone6s”,“iphone7s”],“内存”:[“2G”]} 第一步转换为json对象 let specListData JSON.parse(res.data.data.objs) let temp [] //定义空数组 //获取元素…

想要学习C++,就必须要学习C语言吗?

在学习C之前&#xff0c;你必须先学习C语言吗&#xff1f; C读作C加&#xff0c;简称CPlusPlus。顾名思义&#xff0c;C是在C语言的基础上增加新特性&#xff0c;玩新花样&#xff0c;所以叫CPlusPlus&#xff0c;就像iPhone7S和iPhone7.Win10和Win7的关系一样。 在学习C之前&…

苹果手机还原后无法激活

写在前面&#xff0c;当我们使用的手机是iPhone7s plus 及其以下版本手机时&#xff0c;系统还原会出现【无法激活】的问题。下面就告诉你如何解决这一问题&#xff1a; 找一台联网电脑下载最新版本的iTunes -> 在苹果官网上下载将苹果手机连接Wifi -> 此时&#xff0c;…

Java语法核心——面向对象编程

目录 面向过程思想概述 面向对象思想概述 面向对象思想特点及举例 类与对象的关系 类的定义 类与对象的案例(demo02) 对象内存存储机制 成员变量和局部变量的区别 private关键字 封装 ​编辑 this关键字 ​编辑 构造方法 ​编辑 标准类的代码写法和测试 面向对象…