Sass嵌套

  Sass 中还提供了选择器嵌套功能,但这也并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿意看到的一点。

  选择器嵌套为样式表的作者提供了一个通过局部选择器相互嵌套实现全局选择的方法,Sass 的嵌套分为三种:

  • 选择器嵌套
  • 属性嵌套
  • 伪类嵌套  

  1、选择器嵌套

  假设我们有一段这样的结构:

  <header>
    <nav>
        <a href=“##”>Home</a>
        <a href=“##”>About</a>
        <a href=“##”>Blog</a>
    </nav>
  <header>

  想选中 header 中的 a 标签,在写 CSS 会这样写:

  nav a {
    color:red;
  }

  header nav a {
    color:green;
  }

 那么在 Sass 中,就可以使用选择器的嵌套来实现:  nav {    a {      color: red;     header & {      color:green;
      }
    }
  }

  2、属性嵌套  Sass 中还提供属性嵌套,CSS 有一些属性前缀相同,只是后缀不一样,比如:border-top/border-right,与这个类似的还有 margin、padding、font 等属性。假设你的样式中用到了:
.box {
    border-top: 1px solid red;
    border-bottom: 1px solid green;
}

  

  那么在 Sass 中我们可以这样写:

.box {
  border: {
   top: 1px solid red;
   bottom: 1px solid green;
  }
}

  3、伪类嵌套

  其实伪类嵌套和属性嵌套非常类似,只不过他需要借助`&`符号一起配合使用。我们就拿经典的“clearfix”为例吧:

.clearfix{
&:before,
&:after {
    content:"";
    display: table;
  }
&:after {
    clear:both;
    overflow: hidden;
  }
}

  

  编译出来的 CSS:

clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
  overflow: hidden;
}

原文地址:https://www.cnblogs.com/sunjuncoder/p/9895592.html

时间: 2024-10-08 21:49:50

Sass嵌套的相关文章

sass嵌套风格

1.嵌套输出方式 nested Sass 提供了一种嵌套显示 CSS 文件的方式.例如 nav { ul { margin: 0; padding: 0; list-style: none; } li { display: inline-block; } a { display: block; padding: 6px 12px; text-decoration: none; } } 在编译的时候带上参数“ --style nested”: sass --watch test.scss:test

关于前端CSS预处理器Sass的小知识!

前面的话 ??"CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工具,提 供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护.本文将详细介绍sass的使用 定义 ??Sass是一门高于CSS的元语言,它能用来清晰地.结构化地描述文件样式,有着比普通CSS更加强大的功能.Sass能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式

Sass&amp;Compass学习笔记(一)

1.sass中可以使用变量 变量名以$符号开头,可包含所有可用作CSS类名的字符,包括下划线和中划线. 可见,中划线也是可以作为命名的字符,这是与很多其他语言的不同之处.变量的使用实例: $company-blue: #1875e7; h1#brand { color: $company-blue; } #sidebar { background-color: $company-blue; } 这个例子中,我们定义了一个$compay-blue变量,存放了#1875e7的颜色,因此,当多处需要改

CSS预编译器:Sass(入门),更快的前端开发

Sass 扩展了 CSS3,增加了规则.变量.混入.选择器.继承等等特性.Sass 生成良好格式化的 CSS 代码,易于组织和维护. SASS是对CSS3(层叠样式表)的语法的一种扩充,它可以使用巢状.混入.选择子继承等功能,可以更有效有弹性的写出Stylesheet.Sass最后还是会编译出合法的CSS让浏览可以使用,也就是说它本身的语法并不太容易让浏览器识别(虽然它和CSS的语法非常的像,几乎一样),因为它不是标准的CSS格式,在它的语法内部可以使用动态变量等,所以它更像一种极简单的动态语言

Sass 基本特性 基础

(1)声明变量 $width: 300px; $ 变量声明符, width 变量名称, 300px 变量值. ------------------------------------------------------------------------------------------------------------------- (2)普通变量与默认变量 $fontSize: 12px; body { font-size:$fontSize; } 默认变量 sass的默认变量仅需要在值

SASS用法介绍

SASS用法介绍 SASS是一种CSS预处理器提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 安装SASS SASS需要ruby支持,还需要gem,gem是ruby的包管理工具,ruby 1.9.1是自带gem的,如果是用1.8版本的话,需要另外安装.如果是windows的话,需要安装rubygems. SASS一般会和Compass一起使用,这个也可以用gem来安装. Ruby安装完之后,运行 gem install sass --pre gem insta

前端CSS预处理器Sass

前面的话 ??"CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护.本文将详细介绍sass的使用 定义 ??Sass是一门高于CSS的元语言,它能用来清晰地.结构化地描述文件样式,有着比普通CSS更加强大的功能.Sass能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式表

1-7 Sass的基本特性-基础

[Sass]声明变量 定义变量的语法: 在有些编程语言中(如,JavaScript)声明变量都是使用关键词"var"开头,但是在 Sass 不使用这个关键词,而是使用大家都喜欢的美元符号"$"开头.我想用一张图来解释,我一直坚信,一图胜千言万语: 上图非常清楚告诉了大家,Sass 的变量包括三个部分: 声明变量的符号"$" 变量名称 赋予变量的值 来看一个简单的示例,假设你的按钮颜色可以给其声明几个变量: $brand-primary : dar

1-6 Sass 语法、编译、调试

Sass 语法格式 这里说的 Sass 语法是 Sass 的最初语法格式,他是通过 tab 键控制缩进的一种语法规则,而且这种缩进要求非常严格.另外其不带有任何的分号和大括号.常常把这种格式称为 Sass 老版本,其文件名以".sass"为扩展名. 来看一个 Sass 语法格式的简单示例.假设我们有一段这样的 CSS 代码: body { font: 100% Helvetica, sans-serif; color: #333; } 现在用 Sass 的语法格式来编写: $font-