Css 为什么SASS编译不需要的/未使用的代码
我正在学习SASS并尝试一些例子。我在理解选择器序列以及为什么SASS合并它们时遇到一些问题 在真实场景中,输出可能有不需要的css。例如:-Css 为什么SASS编译不需要的/未使用的代码,css,sass,compass-sass,scss-lint,Css,Sass,Compass Sass,Scss Lint,我正在学习SASS并尝试一些例子。我在理解选择器序列以及为什么SASS合并它们时遇到一些问题 在真实场景中,输出可能有不需要的css。例如:- a{ color: #0086B3; &:hover{ text-decoration: none; } } #footer a{ color: #a61717; } .head-links{ @extend a; font-weight: bold; } 此代码块符合以下要求:- a, .
a{
color: #0086B3;
&:hover{
text-decoration: none;
}
}
#footer a{
color: #a61717;
}
.head-links{
@extend a;
font-weight: bold;
}
此代码块符合以下要求:-
a, .head-links {
color: #0086B3;
}
a:hover, .head-links:hover {
text-decoration: none;
}
#footer a, #footer .head-links {
color: #a61717;
}
.head-links {
font-weight: bold;
}
问题是
#footer .head-links
可能永远不会被使用。那么,如果不需要合并选择器序列,那么合并选择器序列的意义是什么呢
如何避免这种情况。如何使其仅扩展:-
a{
color: #0086B3;
&:hover{
text-decoration: none;
}
}
这是否需要我使用类来代替…,因为您正在扩展元素
a
:
@extend a;
如果删除它,SASS将不会“合并”它们
您有footer a
,在中扩展a
时,头部链接将添加#footer。头部链接
到现有规则#footer a
这意味着它将扩展到CSS中的任何a
,而不仅仅是选择器a
更新
如何避免这种情况。如何使其仅扩展:-
a{
color: #0086B3;
&:hover{
text-decoration: none;
}
}
a{
颜色:#0086B3;
&:悬停{
文本装饰:无;
}
}
这是否需要我使用一个类来代替
是的,您需要为此使用类或ID
大概是这样的:
.uniqueclass{
color: #0086B3;
&:hover{
text-decoration: none;
}
}
这里是一个,因为您在这里扩展元素a
:
@extend a;
如果删除它,SASS将不会“合并”它们
您有footer a
,在中扩展a
时,头部链接将添加#footer。头部链接
到现有规则#footer a
这意味着它将扩展到CSS中的任何a
,而不仅仅是选择器a
更新
如何避免这种情况。如何使其仅扩展:-
a{
color: #0086B3;
&:hover{
text-decoration: none;
}
}
a{
颜色:#0086B3;
&:悬停{
文本装饰:无;
}
}
这是否需要我使用一个类来代替
是的,您需要为此使用类或ID
大概是这样的:
.uniqueclass{
color: #0086B3;
&:hover{
text-decoration: none;
}
}
这是一个是的……但我的观点是——只有这段代码应该扩展:-a{color:#0086B3;&:hover{text decoration:none;}是的……但我的观点是——只有这段代码应该扩展:-a{color:#0086B3;&:hover{text decoration:none;}