首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

选择器右侧的SASS (SCSS)加号和与号语法(+&)的含义?

在 SASS (SCSS) 中,加号 (+) 和与号 (&) 是嵌套规则中的特殊语法,它们用于处理选择器的相对关系和组合。

加号 (+)

加号用于选择紧接在另一个选择器之后的兄弟元素。这在编写相邻兄弟选择器时非常有用。例如:

代码语言:javascript
复制
button {
  // ...button styles...
  
  + p {
    // 这里的样式只会应用在紧跟在 button 元素之后的第一个 <p> 元素上
    margin-top: 10px;
  }
}

编译后的 CSS 将会是:

代码语言:javascript
复制
button {
  /* ...button styles... */
}

button + p {
  margin-top: 10px;
}

与号 (&)

与号用于在选择器内部引用父选择器。这在嵌套规则中非常有用,尤其是当你需要构建复杂的选择器时。例如:

代码语言:javascript
复制
nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
    
    li {
      display: inline-block;
      
      &:hover {
        // 这里的 & 代表 li 元素,所以编译后的 CSS 选择器将是 li:hover
        background-color: #eee;
      }
    }
  }
}

编译后的 CSS 将会是:

代码语言:javascript
复制
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

nav ul li {
  display: inline-block;
}

nav ul li:hover {
  background-color: #eee;
}

在更复杂的例子中,& 可以帮助你构建包含父选择器的复杂选择器:

代码语言:javascript
复制
article[role="main"] {
  width: 600px / 960px * 100%;
  
  &:first-child {
    font-size: 1em;
    padding-bottom: 0.5em;
  }
  
  &:last-child {
    font-size: 0.8em;
    text-align: right;
  }
}

编译后的 CSS 将会是:

代码语言:javascript
复制
article[role="main"] {
  width: 62.5%;
}

article[role="main"]:first-child {
  font-size: 1em;
  padding-bottom: 0.5em;
}

article[role="main"]:last-child {
  font-size: 0.8em;
  text-align: right;
}

在这个例子中,& 代表 article[role="main"],所以你可以看到它被用在每个伪类的选择器中。

总结来说,加号 (+) 用于选择紧随其后的兄弟元素,而与号 (&) 用于在选择器内部引用父选择器,使得嵌套规则更加灵活和强大。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Sass-学习笔记【基础篇】

Sass是Css3的语法超级 2:其他一些css预处理器 Sass(SCSS) LESS Stylus Turbine Swithch CSS CSS Cacheer DT CSS  3:关于Sass和...Sass用“.sass”后缀为扩展名;   SCSS用“.scss”; (2).语法书写方式不同。   Sass以严格的缩进式语法规则来书写,不带大括号“{}”和分号“;”。   ...SCSS的语法书写和CSS语法书写方式非常类似。...".sass"只能使用Sass的老语法规则(即严格的缩进规则,且不带分号和大括号) “.scss”使用的是Sass的新语法规则,也就是SCSS语法规则(类似CSS语法格式) 6-2:sass注释  http..., Sass 中的数学运算——乘法 Sass 中的乘法运算和前面介绍的加法与减法运算还略有不同。

4.9K50

CSS 预编译语言 Sass 快速入门教程

为了解决上述问题,出现了很多 CSS 预编译语言,CSS 预编译语言是基于 CSS 语言的语法扩展,除了能解决上述缺乏语言特性带来的问题之外,还支持嵌套书写,减少重复输入父级选择器(可理解为 CSS 中的继承机制...Sass 与 Less 等其它预编译语言不存在优劣之分,一般来说,Sass 的功能更加强大或者说 Sass 的语言层面更接近于一门完整的编程语言,而 Less 则更接近于 CSS 语法,所以我们在 Vue...所以我们来了解下 Sass 的安装和使用,非常简单,即学即用。 2、Sass 简介和安装 Sass 是对 CSS 的扩展,让 CSS 语言更强大、优雅。...Sass 具有两种不同的后缀名分别对应两套语法,最早 Sass 使用的是缩进式语法,使用缩进来区分代码块,并通过分号将具体样式分开,这种语法以 .sass 作为后缀;另一种使用了和 CSS 一样的块语法...,这种语法以 .scss 作为后缀。

7.2K41
  • SCSS 基本使用详解

    一、引言SCSS 是 Sass(Syntactically Awesome Stylesheets)的其中一种语法,是一种预处理器脚本语言,能够扩展 CSS 的功能,使其更加强大和高效。...SCSS 保留了 CSS 的原有语法,同时增加了变量、嵌套规则、混合宏(mixin)、继承等高级功能。本文将详细介绍 SCSS 的基本使用方法,帮助读者快速上手并掌握 SCSS 的核心概念和技巧。...watch input.scss:output.css三、SCSS 语法与基本用法1....条件与循环SCSS 支持条件语句和循环,可以用来编写更加动态和灵活的样式。...通过变量、嵌套、混合宏、继承等特性,SCSS 大大简化了样式表的编写和维护工作。本文详细介绍了 SCSS 的基本语法和使用方法,并提供了一些进阶技巧和工具,帮助读者更好地掌握和应用 SCSS。

    50010

    SCSS 学习笔记 和 vscode下载live sass compiler插件配置

    ,所以我们学的时候,把文件后缀写为 “.scss” 由于我们的配置,当遇到兼容性代码,出口文件会自动配置,如下图 2.1 语法嵌套规则 2.1.1 选择器嵌套 避免了重复输入父选择器...@import 的功能,允许其导入 SCSS 或 SASS 文件。...【线数字与百分号或单位运算时会自动转化成相应的百分比与单位值】 2.8.4.1 “ + ” 运算 2.8.4.2 “ - ” 运算 2.8.4.3 “ * ” 运算 注意:这里...通过 #{} 插值语句可以在选择器、属性名、注释中使用变量: 2.10 SCSS 常见函数的基本使用 常见函数简介,更多函数列表可看:Sass: Built-In Modules...这个指令包含两种格式:@for var from through ,或者 @for var from to 区别在于 through 与 to 的含义: 当使用 through 时,条件范围包含与的值

    59210

    09-移动端开发教程-Sass入门

    Sass的原理 Sass本质就是在CSS的语法的基础上增加了自定义的变量、循环、分支、函数、mixin、继承、运算等功能,让CSS编程变得异常强大。 当然浏览器是不认识Sass语法。...开发人员写完了Sass的语法文件后需要通过工具转成原始的CSS代码。...Sass的两种文件后缀 sass有两种后缀名文件:一种后缀名为sass,语法要求不使用大括号和分号;另一种就是我们这里使用的scss文件,这种和我们平时写的CSS文件格式差不多,使用大括号和分号。...//文件后缀名为sass的语法 body background: #eee font-size:12px p background: #0982c1 //文件后缀名为scss的语法 body...导入文件 Sass的导入( @import)Sass文件规则和CSS的有所不同,编译时会将 @import的scss文件合并进来只生成一个CSS文件。

    2.3K90

    09-移动端开发教程-Sass入门

    Sass的原理 Sass本质就是在CSS的语法的基础上增加了自定义的变量、循环、分支、函数、mixin、继承、运算等功能,让CSS编程变得异常强大。 当然浏览器是不认识Sass语法。...开发人员写完了Sass的语法文件后需要通过工具转成原始的CSS代码。...Sass的两种文件后缀 sass有两种后缀名文件:一种后缀名为sass,语法要求不使用大括号和分号;另一种就是我们这里使用的scss文件,这种和我们平时写的CSS文件格式差不多,使用大括号和分号。...//文件后缀名为sass的语法 body background: #eee font-size:12px p background: #0982c1 //文件后缀名为scss的语法 body...导入文件 Sass的导入( @import)Sass文件规则和CSS的有所不同,编译时会将 @import的scss文件合并进来只生成一个CSS文件。

    1.8K60

    CSS预处理器之Sass

    引子 ① VsCode 集成 Sass ✅ 1.1 安装 Live Sass Compiler 插件 Live Sass Compiler 是一个用于实时编译和自动刷新 SCSS 文件的 VS Code...这样一来,就减少了生成的 CSS 文件的大小,让页面加载性能变得轻盈如鸟。不需要多余的CSS 代码。 避免与其他选择器冲突 占位符选择器的命名以 % 开头,与常规的 CSS 类选择器不同。...; } 4.2 Sass 变量的作用域 全局作用域 在 Sass 文件的任何地方定义的变量都具有全局作用域,可以在整个文件中访问和使用。...当你在其他 Sass 文件中使用 @import 导入 _public.scss 文件时,只会将其中的变量和混合器等内容引入到当前文件中,而不会生成额外的 CSS 输出。...例如,在另一个 Sass 文件中导入 _public.scss 文件: @import 'path/to/_public.scss'; /* 在这里可以使用 _public.scss 中定义的变量和混合器

    18510

    CSS预处理器入门:SassSCSS的实用指南

    Sass/SCSS 简介Sass/SCSS 基本语法实作CSS 预处理器的由来在过去,CSS 的基本语法与核心机制一直没有太多变化,大家普遍认为 CSS 的功能就是定义样式属性与排版,是一个入门简单的工具...后来受到 Less 影响,Sass 发展出兼容 CSS 的新语法就称为 SCSS,也就是说在 SCSS 中直接撰写 CSS 也是完全没有问题的,因为在 SCSS 的语法中有大括号及分号,以前面的例子像是这样...Sass/SCSS 基本语法关于 Sass 的详细语法教程有许多文章中都有介绍了,这边就简单用几个示例示范 CSS 预处理器的几个常用的特性:变量(Variables)、函数(Functions)、嵌套...共用(Extends)有一种状况是当有一个选择器需要包含另一个选择器中的所有样式,或是许多选择器具有相同样式时,为了避免要一直重写同一组相同的 CSS 样式,在 Sass 中我们可以使用 Extends...本篇文章从介绍 CSS 预处理器的内容与使用时机,到实际利用 Sass/SCSS 介绍几个基本语法来展示其特性,希望能让读者对 CSS 预处理器相关的入门知识有更多了解。

    16610

    前端入门23-CSS预处理器(Less&Sass)声明正文-CSS预处理(less&Sass)

    Sass 和 Less 这类语言,其实可以理解成 CSS 的超集,也就是它们是基于 CSS 原本的语法格式基础上,增加了编程语言的特性,如变量的使用、逻辑语句的支持、函数等。...Sass 和 Scss 本质是一家,Sass 早期版本的文件后缀名是 .sass,从 Sass 3 之后,因为修改了一些特性语法,Sass 更加强大且易使用,从这个版本之后的文件后缀名改成了 .scss...Scss 是基于 Sass 的语法基础上,修改了一部分的语法。...比如早期的 Sass 是通过换行和缩进如: #sidebar width: 30% background-color: #faa 这种语法格式跟 CSS 不一致,让使用者会很不习惯,Scss 之后就换成用分号和括号了...最后,Sass 虽然有 .sass 和 .scss 两种后缀名的文件,但建议使用 .scss,因为前者的语法跟 CSS 很不一样,使用起来会有些不习惯,当然如果你有 Ruby 基础的话,可能会比较喜欢这种

    1.6K30

    Sass常用语法

    与Less对比 Sass相对于Less的优点 功能强大:Sass 提供了更多的功能,比如嵌套规则、变量、混合宏、继承等。...SCSS 语法:Sass 提供了两种语法,一种是原始的 Sass 语法(缩进),另一种是 SCSS 语法(类似 CSS),大多数开发者更喜欢 SCSS 语法。...成熟稳定:Sass 自 2006 年发布以来,已经被广泛使用,并且有大量的支持和社区资源。 性能优化:Sass 支持更高效的编译和性能优化。...总体来说,如果你需要更高级的功能和更广泛的社区支持,Sass 可能是更好的选择。...a:hover { color: red } 同层选择器 同层相邻组合选择器+ 选择header元素后紧跟的p元素: header + p { font-size: 1.1em } 同层全体组合选择器

    10210

    【SassSCSS】预加载器中的“轩辕剑”

    SCSS (Sassy CSS): 一款css预处理语言,SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。...也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 SCSS 文件。SCSS 需要使用分号和花括号而不是换行和缩进。...语法 @import filename; 与CSS@import的区别 CSS @import 指令在每次调用时,都会创建一个额外的 HTTP 请求。...注意:请不要将带下划线与不带下划线的同名文件放置在同一个目录下,比如,_colors.scss 和 colors.scss 不能同时存在于同一个目录下,否则带下划线的文件将会被忽略。...语法 @extend 指令告诉 Sass 一个选择器的样式从另一选择器继承。 使用环境 如果一个样式与另外一个样式几乎相同,只有少量的区别,则使用 @extend 。

    76540

    如何使用SASS编写可重用的CSS

    SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。...Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点: 1.文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名...2.语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。...css 中“>”是 css3 中特有的选择器,A > B 表示选择 A 元素的所有子B元素,与A B不同的是,A B 选择所有后代元素,为A > B只选择一代。...if() if() 是 Sass 的一个内建函数,与之相似的 @if 则是一个内建指令。

    7.7K20

    Sass和SCSS之间的不同之处是什么?

    因此,Sass样式表使用的是不带括号、不含分号和严格缩进的Ruby类语法,像这样: // Variable !...(可变符号)和“=”(赋值符号)从SCSS移到“$”和“:”使两种语法更接近。...自SCSS发布以来,使SCSS与CSS完全兼容,一直是Sass的维护者的首要任务,这是在我看来很大的一件事。...此外,他们试图坚持更接近于那些在将来可能成为一个有效的CSS语法(故@ directives)。 因为SCSS与CSS兼容,这意味着很少没有学习曲线。语法是已知的:毕竟,它只是有一些额外的CSS。...它没有任何快捷方式,一旦读出来,一切都是有意义的。 此外,Sass的大多数现有工具,插件和演示都是用SCSS语法开发的。随着时间的推移,这种语法主要是出于上述原因变得越来越突出并且被默认选择。

    96820

    SassScss、Less 是什么?

    Sass 的缩排语法,对于写惯 css 前端的 web 开发者来说很不直观,也不能将 css 代码加入到 Sass 里面,因此 Sass 语法进行了改良,Sass 3 就变成了 Scss (Sassy...SCSS (Sassy CSS) 是 CSS 语法的扩展。这意味着每一个有效的 CSS 也是一个有效的 SCSS 语句,与原来的语法兼容,只是用 {} 取代了原来的缩进。...Sass 有工具库 Compass, 简单说,Sass 和 Compass 的关系类似于像 Javascript 和 jQuery 的关系,Compass 在 Sass 的基础上,封装了一系列有用的模块和模板...block;/*继承.block选择器下所有样式*/ border: 1px solid #eee;}相同之处Less 和 Sass 在语法上有些共性,比如下面这些:1、混入 (Mixins)——class...5、同时还有 Scss 对 sass 语法进行了改良,Sass 3 就变成了 Scss (sassy css)。与原来的语法兼容,只是用 {} 取代了原来的缩进。

    1.2K60

    SCSS基础

    , 5 5月 2021 作者 847954981@qq.com 前端学习, 我的编程之路 SCSS基础 SASS 是一款 CSS 预编译器,它定义了一种新的编程语言,为CSS 增加了一些编程的特性...而Scss 其实是 Sass 3 为了兼容 CSS 引入的新语法。...SCSS变量 SassScript 最普遍的用法就是变量,变量以美元符号”$”开头,赋值方法与 CSS 属性的写法一样: $width:10px; 使用变量: #main{ width:$width.../2; //通过变量进行运算 } 除了简单的赋值,Sass中变量还可以定义类似数组的变量: $animals: puppy kitty chick; 插值法 在SCSS中通过#{ }语法可以将变量插入任意位置...不同,SCSS的语法呈现的是嵌套规则,即将外层的样式作为父选择器,子标签写在父标签里面来更直观地表现出样式结构。

    75150

    scss,less,stylus这些css处理器该怎么选择

    Sass与SCSS Sass是预处理器的鼻祖,它诞生于2006年,很多后来的预处理器都从它这里借鉴了大量思想。 到目前为止,它具有两种单独的语法:Sass和SCSS。...是的,Sass和SCSS只是Sass的两种语法,其中SCSS是在Sass第三个版本中引入的,它采用了和之前不一样的语法。 Sass和SCSS之间的主要区别在于,SCSS与CSS一样使用分号和方括号。...它受Sass的影响,但对后来引入的SCSS格式有影响。因为与Sass语法的第一个版本不同,所以此CSS预处理程序最初是为了尽可能地与纯CSS类似而创建的。...另一方面,Sass允许您使用if语句并将其插入选择器和属性名称中。它的语法还包含三元运算符和嵌套收集器。 Less的另一个小缺点是使用@符号进行变量声明(Sass使用$符号代替)。...您可以将其与普通CSS语法和上述预处理器一起使用。它最大的优点就是模块化,我们需要的各个功能都可以通过引入各个模块完成,因此,它的效率是非常高的。

    82810
    领券