sass、scss 和 less的异同 您所在的位置:网站首页 sass与css的关系 sass、scss 和 less的异同

sass、scss 和 less的异同

2024-06-02 23:57| 来源: 网络整理| 查看: 265

什么是Sass、scss和Less? 它们都属于CSS预处理器。

先说一下scss和sass的关系 Sass是缩排语法,对于习惯css的web开发者来说很不直观,还是有点学习成本,也不能将css代码加入到sass里面,因此sass语法进行了改良,Sass 3就变成了Scss(sassy css)。与原来的语法兼容,只是用{}取代了原来的缩进,更容易阅读。

再回到css预处理,它是定义了一种新的语言,其基本思想是,用一种专门的编程语言,为css增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行CSS的编码工作。通俗地说就是“用一种专门的编程语言,进行Web页面样式设计,再通过编译器转化为正常的CSS文件,以供项目使用”。

为什么使用CSS预处理器?     CSS只是一个标记语言,不是编程语言,因此不可以自定义变量,不可以引用等等。

css有具体以下几个缺点:   语法不够强大,比如无法嵌套书写,导致模块化开发中需要书写很多重复的选择器;

没有变量和合理的样式复用机制,使得逻辑上相关的属性值必须以字面量的形式重复输出,导致难以维护。

这就导致了我们在工作中无端增加了许多工作量。而使用CSS预处理器,提供CSS缺失的样式层复用机制、减少冗余代码,提高样式代码的可维护性。大大提高了开发效率。

但是,CSS预处理器也不是万金油,CSS的好处在于简便、随时随地被使用和调试。预编译CSS步骤的加入,让我们开发工作流中多了一个环节,调试也变得麻烦。更大的问题在于,预编译很容易造成后代选择器的滥用。

Sass和Less的区别 一、Less环境较Sass简单

Sass的安装需要安装Ruby环境,Less基于Javascript,是需要引入Less.js来处理代码输出css到浏览器,也可以在开发环节使用Less,然后编译成css文件,直接放在项目中。

二、Less使用较Sass简单

Less并没有裁剪CSS原有的特性,而是在现有CSS语法的基础上,为CSS加入程序式语言的特性。

三、Sass功能较Less强大

1、sass有变量和作用域

2、sass有函数的概念

3、进程控制

条件、循环遍历、继承、引用

4、数据结构

数组、map

四、Less和Sass处理机制不一样

前者是通过客户端处理的,后者是通过服务端处理,相比较之下前者解析会比后者慢一点。

关于变量在Less和Sass中的唯一区别就是Less用@,Sass用$

相同之处

Less和Sass在语法上有些共性,比如下面这些:

1、混入(Mixins)——class中的class; 2、参数混入——可以传递参数的class,就像函数一样; 3、嵌套规则——Class中嵌套class,从而减少重复的代码; 4、运算——CSS中用上数学; 5、颜色功能——可以编辑颜色; 6、名字空间(namespace)——分组样式,从而可以被调用; 7、作用域——局部修改样式; 8、JavaScript 赋值——在CSS中使用JavaScript表达式赋值。  



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有