📜  SASS |嵌套(1)

📅  最后修改于: 2023-12-03 14:47:13.715000             🧑  作者: Mango

SASS | 嵌套

介绍

SASS(Syntactically Awesome Style Sheets)是一个强化 CSS 的辅助工具,它在 CSS 语法的基础上,增加了变量、嵌套、函数等功能,大大简化了 CSS 編写。

SASS 中的嵌套功能可以大大提高 CSS 的可读性和可维护性,使得代码的逻辑结构更加清晰。

基本语法
// SASS 语法
.parent {
  property: value;

  .child {
    color: red;
  }
}

// 编译后的 CSS 语法
.parent {
  property: value;
}

.parent .child {
  color: red;
}

嵌套的语法非常简单,就是在父元素后面继续编写子元素,使用大括号 {} 括起来。

使用嵌套语法,我们可以定义出类似如下的 CSS 代码:

.container {
  width: 100%;
  margin: 0 auto;

  .box {
    padding: 20px;
    background-color: #FFF;

    &:hover {
      background-color: #F5F5F5;
    }

    .title {
      font-size: 16px;
      color: #333;
    }

    .description {
      font-size: 14px;
      color: #666;
    }
  }
}

这段代码被优美地分成了四个层级,让代码看起来非常的清晰。

父级选择器

SASS 中有一个非常强大的父元素选择器 &,它可以让我们访问到父元素的选择器。

// SASS 语法
a {
  color: red;

  &:hover {
    color: green;
  }
}

// 编译后的 CSS 语法
a {
  color: red;
}

a:hover {
  color: green;
}

在上面的例子中,当我们将鼠标悬浮在 a 标签上时,会使得 a 标签的 color 属性变为绿色。

复杂选择器

SASS 中支持选择器的嵌套,因此我们可以使用复杂选择器来访问不同级别的元素。

// SASS 语法
.navbar {
  .nav {
    li {
      a {
        color: green;

        &:hover {
          color: blue;
        }
      }
    }
  }

  .logo {
    img {
      width: 200px;
    }
  }
}

// 编译后的 CSS 语法
.navbar .nav li a {
  color: green;
}

.navbar .nav li a:hover {
  color: blue;
}

.navbar .logo img {
  width: 200px;
}

上述代码就是使用了复杂选择器,访问了不同的元素。

结语

嵌套是 SASS 中一个非常强大的功能,它可以让我们的 CSS 代码变得更加清晰、易读和易维护。但是,我们需要注意嵌套的层次,以免代码变得杂乱不堪,难以维护。


本文采用 Markdown 语言编写,可以在支持 Markdown 的编辑器中进行查看和编辑。