Css Sass:&;定义嵌套类时
我在学习。我正在浏览嵌套类部分。它有以下代码片段Css Sass:&;定义嵌套类时,css,sass,Css,Sass,我在学习。我正在浏览嵌套类部分。它有以下代码片段 nav { ul { margin: 0; padding: 0; list-style: none; } li { display: inline-block; } a { display: block; padding: 6px 12px; text-decoration: none; } } 在我的项目中,使用了Sass。嵌套类是在和操作符的帮助下编写的。同样的片段写
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
在我的项目中,使用了Sass。嵌套类是在和操作符的帮助下编写的。同样的片段写为:
nav {
& ul {
margin: 0;
padding: 0;
list-style: none;
}
& li { display: inline-block; }
& a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
两个代码段生成的CSS相同,如下所示:
nav ul {
margin: 0;
padding: 0;
list-style: none;
}
nav li {
display: inline-block;
}
nav a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
我想知道的是这个&
操作员在这里做什么?可以省略吗?这两个代码段生成的CSS相同,因为在&后面有一个空格,但如果删除了该空格,则应获得相同的CSS
navul {
margin: 0;
padding: 0;
list-style: none;
}
navli {
display: inline-block;
}
nava {
display: block;
padding: 6px 12px;
text-decoration: none;
}
但是在这种情况下,它没有任何意义,因此当您在和之后有一个类时,我们使用它,如下所示:
nav {
&.class1 {
margin: 0;
padding: 0;
list-style: none;
}
&.class2 { display: inline-block; }
&.class3 {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
您将获得:
nav.class1 {
margin: 0;
padding: 0;
list-style: none;
}
nav.class2 { display: inline-block; }
nav.class3 {
display: block;
padding: 6px 12px;
text-decoration: none;
}
在深入研究文档之后,我找到了和的解释。所以基本上,&
是一个父选择器。从文件:
有时,在其他应用程序中使用嵌套规则的父选择器很有用
方式比默认方式。例如,您可能希望有特殊的
将选择器悬停在上方或主体上时的样式
元素有一个特定的类。在这些情况下,您可以显式地
使用指定插入父选择器的位置&
性格例如:
SCSS:
a {
font-weight: bold;
text-decoration: none;
&:hover { text-decoration: underline; }
body.firefox & { font-weight: normal; }
}
a {
font-weight: bold;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
body.firefox a {
font-weight: normal;
}
CSS:
a {
font-weight: bold;
text-decoration: none;
&:hover { text-decoration: underline; }
body.firefox & { font-weight: normal; }
}
a {
font-weight: bold;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
body.firefox a {
font-weight: normal;
}
它引用了父选择器。检查下面的链接。谢谢你的解释。我明白了。