1. CSS中的&符号
在CSS中,&符号表示父元素选择器,即一个选择器的作用范围是其父元素。例如:
.btn {
background: blue;
&-disabled {
background: gray;
}
}
上述代码中,`&-disabled`即表示父元素选择器`.btn`与后缀`-disabled`的组合,就是`.btn-disabled`。
再看这个例子:
.btn {
&:hover {
background: red;
}
}
上述代码中,`&:hover`表示当鼠标悬浮在`.btn`上时,`.btn`的背景色变为红色。
2. SASS中的&符号
SASS(Syntactically Awesome Style Sheets)是CSS的一种预处理语言,通过使用SASS,可以更加方便地书写CSS。在SASS中,&符号与CSS中的作用相同,但是SASS中的&符号还有其他用途。
2.1 嵌套
SASS中可以嵌套CSS代码,例如:
.btn {
color: blue;
&:hover {
color: red;
}
}
上述代码中,`&:hover`表示鼠标悬浮在`.btn`上时,`.btn`的颜色变为红色。
2.2 命名空间
SASS中可以使用&符号来创建命名空间。例如:
.btn {
color: blue;
.icon & {
margin-right: 10px;
}
}
上述代码中,`.icon`前面的&符号表示`.icon`选择器的父元素应该是`.btn`,即`.icon`与`.btn`的组合,就是`.btn .icon`。
2.3 伪类和伪元素
在SASS中,&符号还可用于拼接伪类和伪元素。例如:
.btn {
&:hover {
color: red;
}
&::before {
content: '';
display: inline-block;
}
}
上述代码中,`&:hover`与`&::before`表示`.btn`的伪类和伪元素。
3. 总结
&符号在CSS和SASS中都表示父元素选择器,但在SASS中还有其他用途,如嵌套、命名空间、拼接伪类和伪元素等。掌握&符号的用法可以更加方便地书写CSS和SASS代码。