我正在阅读本指南。
转到显示"选择器序列"的部分,它靠近网页的 3/4,有以下代码:
#fake-links .link {
@extend a;
}
a {
color: blue;
&:hover {
text-decoration: underline;
}
}
在指南中,它说SCSS代码将转换为以下CSS代码:
a, #fake-links .link {
color: blue; }
a:hover, #fake-links .link:hover {
text-decoration: underline; }
我的问题:为什么第三行的#fake-links
不变成#fake-links:hover
?
这是因为当它是#fake-links
的孩子时,它是扩展.link
,而不是扩展#fake-links
本身。
在这种情况下,您将得到如下内容:
<div id='#fake-links'>
<a href='#' class='link'>...</a>
</div>
link
类的a
标签是样式。
如果您希望将a
样式应用于#fake-links
则可以从 SCSS 的选择器中省略.link
:
#fake-links {
@extend a;
}
举个例子:
https://www.sassmeister.com/gist/2df1a3ca4d889201fe3a86e324643c04