📜  Less 与 Sass 有何相似之处?

📅  最后修改于: 2022-05-13 01:56:49.215000             🧑  作者: Mango

Less 与 Sass 有何相似之处?

CSS 预处理器是扩展 CSS 的所有特性的编程语言,但它有助于降低 CSS 的代码复杂性,它使用不同的特性,如混合、变量和许多其他特性,使代码清晰易懂。这些语言要求编译器将代码编译回正常的 CSS。

目前,最常用的两个 CSS 预处理器是SASS 和 LESS。虽然他们两个有很大的不同,但他们有一些相似的概念。在本文中,我们将讨论 LESS 和 SASS 之间的相似之处。

SASS 和 LESS 的相似之处如下:

  1. 它们都是 CSS 预处理器
  2. 变量的概念
  3. 混合的概念
  4. 嵌套的概念
  5. 进口理念

现在,让我们一一详细讨论这些要点。

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 之间的相似之处。它们还有一些额外的功能。最近,它们都被开发人员大量使用,并且都各有优缺点。选择基本上取决于开发人员自己的选择,而不是需要,因为它们几乎都做相同的工作,但方式略有不同。