在 CSS 中,&
符号是 嵌套语法中的父选择器引用符,主要用于 CSS 预处理器(如 Sass、Less、Stylus)和 现代 CSS 嵌套语法(CSS Nesting)。它代表当前选择器的父级,用于简化嵌套规则并生成更精确的选择器。
1、实例一
第一种写法:
css
.resume-dialog-wrap {&.t-dialog--default {padding: 0 !important;}
}
编译结果:
[data-v-xxxxxxx] .resume-dialog-wrap.t-dialog--default {padding: 0 !important;
}
解释:
-
&
表示将两个类选择器连接在一起,匹配同时拥有这两个类的元素 -
这会选择同时具有
resume-dialog-wrap
和t-dialog--default
类的元素
第二种写法:
css
.resume-dialog-wrap {.t-dialog--default {padding: 0 !important;}
}
编译结果:
css
[data-v-xxxxxxx] .resume-dialog-wrap .t-dialog--default {padding: 0 !important;
}
解释:
-
这种写法表示选择
resume-dialog-wrap
元素内部的t-dialog--default
元素 -
这是后代选择器的关系,不是同时拥有两个类的元素
关键区别:
-
第一种写法(.resume-dialog-wrap.t-dialog--default),有&连接选择器,是AND关系,无空格,匹配的是单个元素同时拥有两个类
- 第二种写法(.resume-dialog-wrap .t-dialog--default),无&连接选择器,有空格,空格分隔表示父子/后代关系,匹配的是一个元素内部的后代元素
2、实例二
scss
.button {&:hover {color: red;}
}
编译后:
css
.button:hover {color: red;
}
&
在这里代表 .button
,最终生成 .button:hover
。