比较 LESS 和 SASS 的三个方面及其使用技巧

阅读时长 6 分钟读完

LESS 和 SASS 的比较

LESS 和 SASS 是两种非常流行的 CSS 预处理器,它们为前端开发者提供了更好的编写 CSS 样式的方式。但是,在选择使用 LESS 还是 SASS 时,我们可能会面临一些困难,因为它们都提供了一些类似的功能,但也有很多不同之处。在本文中,我们将比较 LESS 和 SASS 的三个方面:变量、Mixin 和嵌套,以帮助您更好地了解它们之间的差异。

1. 变量

LESS 和 SASS 都允许您在样式表中使用变量。变量让您更轻松地创建和维护样式。在 LESS 中,定义变量使用 @ 符号,如下所示:

在 SASS 中,定义变量使用 $ 符号:

需要注意的是,LESS 中的变量值可以动态地改变,而 SASS 中的变量值只能在定义时设置。

-- -------------------- ---- -------
--------------- --------
---------- ---------------

----------- -
  ----------------- ----------
-

--------------- -----

------------- -
  ----------------- ----------
-
-- -------------------- ---- -------
--------------- -------
---------- --------------

-----------
  ----------------- ---------

--------------- ----

-------------
  ----------------- ---------

如果您想改变 LESS 中的变量值,那么在赋新值之后,任何引用它的样式都将自动更新。但是在 SASS 中,您需要重新编译整个样式表才能更新变量的值。

2. Mixin

Mixin 允许在多个元素之间共享代码。在 LESS 中,定义 Mixin 时使用 . 符号:

-- -------------------- ---- -------
--------------------------------- ---- ----------------- ----- ---------------------------- ----- -
  ------------------- -------------------- ---------------- ----------------------------
  ---------------- -------------------- ---------------- ----------------------------
  -------------- -------------------- ---------------- ----------------------------
  ----------- -------------------- ---------------- ----------------------------
-

----------- -
  ------------------- ------
-

在 SASS 中,使用 @mixin 关键字来定义 Mixin:

-- -------------------- ---- -------
------ -------------------------------- ---- ----------------- ----- ---------------------------- ----- -
  ------------------- -------------------- ---------------- ----------------------------
  ---------------- -------------------- ---------------- ----------------------------
  -------------- -------------------- ---------------- ----------------------------
  ----------- -------------------- ---------------- ----------------------------
-

-----------
  -------- ------------------ -----

LESS 中的 Mixin 有一个很好的特性:允许多重继承。这意味着您可以从多个 Mixin 中继承并使用其中的代码。

-- -------------------- ---- -------
------------------------- ---- -
  ---------------------- --------
  ------------------- --------
  ------------------ --------
  ----------------- --------
  -------------- --------
-

------------------------- ----- ------------- ---- -
  ------ -----------
  -------- -------------
-

---------------- ---- ----------- ----- ------------- ---- -
  ------------------------- --------------
  --------------------------
-

----------- -
  ------------- -------- ------
-

SASS 中也支持 Mixin 嵌套,但不能像 LESS 中一样进行多重继承。

3. 嵌套

用 LESS 和 SASS 编写 CSS 时,您可以使用嵌套语法来组织样式。在 LESS 中,嵌套使用 {}& 符号:

-- -------------------- ---- -------
---------- -
  -- -
    ---------- -----
    ------- -
      ---------------- ----------
    -
  -
  -- -
    ------- --
    -------- --
    ----------- -----
    -- -
      -------- -------------
      ------------- -----
    -
  -
-

在 SASS 中,则使用缩进来表示嵌套关系:

-- -------------------- ---- -------
----------
  --
    ---------- ----
    -------
      ---------------- ---------

  --
    ------- -
    -------- -
    ----------- ----
    --
      -------- ------------
      ------------- ----

在嵌套的样式中,LESS 中的 & 符号允许您访问包含选择器,而 SASS 中使用 & 来连接两个选择器。

总结

在比较 LESS 和 SASS 时,了解变量、Mixin 和嵌套语法是非常重要的。虽然它们都有相似的功能,但它们之间存在一些细微的差异。根据您的需求选择其中一种预编译器是合适的,但需要注意的是,您选择的预编译器会影响整个开发生命周期。这意味着,选择其中之一是一项长期决策,不能轻易更换。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65a891a3add4f0e0ff1b6ab9

纠错
反馈