这完美地运作:
.navbar_ind {
background-color: blue;
}
.navbar_ind .nav-link:hover {
color: red;
}
但是当我这样做时它不起作用,为什么?
.navbar_ind {
background-color: blue;
&__nav-link:hover {
color: red;
}
}
答案 0 :(得分:3)
你可以使用&有空间你根本不使用它,像这样:
.navbar_ind {
background-color: blue;
& .nav-link:hover {
color: red;
}
}
或者像这样:
.navbar_ind {
background-color: blue;
.nav-link:hover {
color: red;
}
}
两者都应该正常工作
答案 1 :(得分:3)
此:
.navbar_ind {
background-color: blue;
&__nav-link:hover {
color: red;
}
}
将编译为:
.navbar_ind {
background-color: blue;
}
.navbar_ind__nav-link:hover {
color: red;
}
您需要的是:
.navbar_ind {
background-color: blue;
// The ampersand selector isn't even needed.
& .nav-link:hover {
color: red;
}
}
答案 2 :(得分:1)
您正在使用'&'选择错误的方式。子选择器不需要它。
CSS的等效SASS
.navbar_ind {
background-color: blue;
}
.navbar_ind .nav-link:hover {
color: red;
}
是
.navbar_ind {
background-color: blue;
.nav-link:hover {
color: red;
}
}
CSS的等效SASS
.navbar_ind {
background-color: blue;
}
.navbar_ind.nav-link:hover {
color: red;
}
是
.navbar_ind {
background-color: blue;
&.nav-link:hover {
color: red;
}
}
Read more关于&选择器。强>