Less 与 Sass 有何相似之处?
CSS 预处理器是扩展 CSS 的所有特性的编程语言,但它有助于降低 CSS 的代码复杂性,它使用不同的特性,如混合、变量和许多其他特性,使代码清晰易懂。这些语言要求编译器将代码编译回正常的 CSS。
目前,最常用的两个 CSS 预处理器是SASS 和 LESS。虽然他们两个有很大的不同,但他们有一些相似的概念。在本文中,我们将讨论 LESS 和 SASS 之间的相似之处。
SASS 和 LESS 的相似之处如下:
- 它们都是 CSS 预处理器
- 变量的概念
- 混合的概念
- 嵌套的概念
- 进口理念
现在,让我们一一详细讨论这些要点。
1. CSS 预处理器:正如我们前面所说的,SASS 和 LESS 都是 CSS 预处理器,因此它们都需要一些特殊的编译器来将它们编译成可以直接链接到 HTML 文件的常规 CSS 文件。
2. 变量:变量是一个非常有用的元素,在Python、 Java等许多流行语言中都可以找到。此功能在常规 CSS 中不可用,但在 LESS 和 SASS 中,我们可以分配变量来存储要多次使用的任何 CSS 值。这里唯一的区别是语法不同。
下面给出了在两种语言中定义变量的语法:
语法:在 LESS 中定义一个变量
@color_variable: red;
语法:在 SASS 中定义变量
$color_variable: red;
3. Mixins: Mixins 就像一个函数,包含一堆 CSS 属性,可以在代码的任何地方使用。它们具有参数,我们可以在调用不同元素时使用不同的值传递这些参数。 LESS 和 SASS 都支持 Mixins 的特性。
下面给出了在两种语言中定义 mixin 的语法:
语法:在 LESS 中定义一个变量并在另一个类中使用它
.button_mixin {
color: blue;
border: 2px solid black;
padding: 1em;
}
.container {
height: 100px;
.button_mixin;
}
语法:在 SASS 中定义一个变量并在另一个类中使用它
@mixin button_mixin
color: blue
border: 2px solid black
padding: 1em
container
@include button_mixin
height: 100px
4、嵌套:嵌套是编程语言中一个非常重要的概念。在嵌套中,我们可以在另一个块中编写一个代码块。 SASS 和 LESS 都支持嵌套,但它们的语法不同。
下面给出的语法显示了 LESS 和 SASS 中的嵌套功能:
语法:在 LESS 中定义一个变量
nav {
ul {
margin: 0;
padding: 0;
}
li {
display: inline-block;
}
a {
display: block;
text-decoration: none;
}
}
语法:在 SASS 中定义变量
nav
ul
margin: 0
padding: 0
li
display: inline-block
a
display: block
text-decoration: none
5. 导入:在 CSS 预处理器中导入是一项功能,我们可以将 SASS 或 LESS 的完整文件导入另一个完整文件,包括所有 mixin、变量和其他代码。此功能在设计大型网站时为代码提供了模块化方法,在该网站上编写单个文件可能会使代码长度非常长,以便阅读和导航以进行任何更正和更改。
使用导入功能,我们可以在不同的文件中编写不同的代码部分,最后将它们导入到一个主要的 SASS 或 LESS 文件中。这种导入功能在 SASS 和 LESS 中都存在,我们可以使用它们来使我们的代码更清晰。
下面给出了两种语言的导入语法:
语法:在 LESS 中定义一个变量
@import "sample1.less"
@import "sample2.less"
语法:在 SASS 中定义变量
@import "sample"
@import "sample2"
因此,从以上几点,我们详细了解了 LESS 和 SASS 之间的相似之处。它们还有一些额外的功能。最近,它们都被开发人员大量使用,并且都各有优缺点。选择基本上取决于开发人员自己的选择,而不是需要,因为它们几乎都做相同的工作,但方式略有不同。