嵌套属性

某些 CSS 属性属于命名空间,例如 border-right 属于 border 命名空间。为了减少写入,我们可以利用属性嵌套,并跳过这些前缀,即使在多个级别上也是如此。

如果我们需要在名为 .borders 的类的右侧和左侧创建边框,我们可以这样写:

 //SCSS
 .borders {
    border: 2px dashed blue;
    border: {
        left: 1px solid black;
        right: 1px solid red;
    }
  }

 // CSS output 
 .borders {
    border: 2px dashed blue;  
    border-left: 1px solid black;
    border-right: 1px solid red;
  }
 

这节省了我们不得不写 border-rightborder-left,但是我们仍然用 1px solid black1px solid red 编写重复代码。我们可以通过以下方式编写更少重复的 CSS:

// SCSS
.borders {
  border: 2px dashed blue {
    left: 1px solid black;
    right: {
      color: red;
    }
  }
}

// CSS output
.borders {
   border: 2px dashed blue;
   border-left: 1px solid black;
   border-right-color: red;
}