less

57 阅读2分钟

LESS(Leaner Style Sheets)是一种动态样式语言,它扩展了 CSS 的功能,添加了变量、嵌套规则、混合(Mixins)、函数等特性,使 CSS 更具维护性、可扩展性和灵活性。以下是 LESS 的一些主要语法规则:

1. 变量

变量允许你在样式表中存储一个值,并在多个地方重复使用它。使用@符号来定义变量。

less

@primary-color: #007bff;
@font-size: 16px;

body {
  color: @primary-color;
  font-size: @font-size;
}

2. 嵌套规则

LESS 允许你在选择器中嵌套其他选择器,这使得代码结构更清晰,更易于理解。

less

nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li {
    display: inline-block;
  }

  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}

3. 混合(Mixins)

混合是一种将一组属性从一个规则集包含到另一个规则集的方式。可以将其看作是可重用的代码块。

less

// 定义一个混合
.border-radius(@radius) {
  -webkit-border-radius: @radius;
  -moz-border-radius: @radius;
  border-radius: @radius;
}

// 使用混合
.button {
  .border-radius(5px);
}

4. 运算

LESS 支持基本的数学运算,如加、减、乘、除。可以对数值、颜色等进行运算。

less

@base-font-size: 16px;
@heading-font-size: @base-font-size * 1.5;

h1 {
  font-size: @heading-font-size;
}

5. 函数

LESS 提供了一些内置函数,用于处理颜色、字符串、数学等操作。

less

@base-color: #f04615;
@lighter-color: lighten(@base-color, 10%);

body {
  background-color: @lighter-color;
}

6. 导入

可以使用@import指令导入其他 LESS 文件,将多个文件合并成一个 CSS 文件。

less

@import "variables.less";
@import "mixins.less";

// 使用导入文件中定义的变量和混合
body {
  color: @primary-color;
  .border-radius(5px);
}

7. 条件判断(Guard Expressions)

在混合中可以使用条件判断来根据不同的条件应用不同的样式。

less

.mixin(@a) when (lightness(@a) >= 50%) {
  background-color: black;
}
.mixin(@a) when (lightness(@a) < 50%) {
  background-color: white;
}
.mixin(@a) {
  color: @a;
}

.class {
  .mixin(#ddd);
}

以上就是 LESS 的一些主要语法规则,通过这些特性,你可以更高效地编写和管理 CSS 代码。