less和sass区别
ess和sass都是css的一种预处理器。
转化成通俗易懂的话来说就是“用一种专门的编程语言,进行 Web 页面样式设计,再通过编译器转化为正常的 CSS 文件,以供项目使用”。
![在这里插入图片描述](https://img-blog.csdnimg.cn/6a48d3c11f7b41ba87240d4c9111f8fa.png)
sass和less的区别
LESS和Sass都是一种CSS预处理器,它们的目的都是让编写和维护CSS更加高效方便。它们之间的主要区别如下:
1.语法差异:
LESS: 使用类似于CSS的语法,但引入了变量、嵌套规则和混合(mixin)等概念。
Sass: 有两种语法,一种是类似于CSS的缩进式语法,另一种是更类似于传统编程语言的SCSS(Sassy CSS)语法,使用大括号和分号。
2.语法嵌套:
LESS: 支持基本的选择器嵌套,但在多层嵌套时可能会变得混乱。
Sass: 在SCSS语法中,可以更清晰地嵌套选择器,使代码结构更易读。
3.变量和插值:
LESS: 使用@符号定义变量,但在属性中插入变量需要使用反引号。
Sass: 也使用KaTeX parse error: Expected 'EOF', got '#' at position 15: 符号定义变量,插值时直接使用#̲{变量名}。
混合(Mixin):
LESS: 使用.mixin()来定义混合,通过.mixin()来引入。
Sass: 使用@mixin来定义混合,通过@include来引入。
4.导入文件:
LESS: 使用@import导入外部文件,但不会产生独立的命名空间。
Sass: 同样使用@import,但在Sass中可以选择性地生成独立的命名空间,避免全局污染。
5.操作运算:
LESS: 支持数学运算,但需要使用unit()函数来添加单位。
Sass: 支持数学运算,并且可以自动添加单位。
总的来说,LESS和Sass在核心功能上相似,但在语法、嵌套、变量插值等方面存在一些不同。选择哪个预处理器取决于个人偏好以及项目的需求。
- ①sass有变量和作用域。
- $variable,like php;
- #{$variable}like ruby;
- 变量有全局和局部之分,并且有优先级。
②sass有函数的概念;
- @function和@return以及函数参数(还有不定参)可以让你像js开发那样封装你想要的逻辑。
-@mixin类似function但缺少像function的编程逻辑,更多的是提高css代码段的复用性和模块化,这个用的人也是最多的。
-ruby提供了非常丰富的内置原生api。
③进程控制:
-条件:@if @else;
-循环遍历:@for @each @while
-继承:@extend
-引用:@import
④数据结构:
-$list类型=数组;
-$map类型=object; 其余的也有string、number、function等类型
————————————————
版权声明:本文为CSDN博主「阿陆陆陆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42546652/article/details/109719727