是否可以在sass中合并来自不同部分文件的相同选择器的属性?

是否可以在sass中合并来自不同部分文件的相同选择器的属性?,sass,compass-sass,Sass,Compass Sass,假设您有一个style.scss文件以及两个名为_base.scss和_typo.scss的部分 style.scss仅包含: @import 'compass', 'x1', 'x2'; p{ width:80%; } p{ color:red; } _base.scss包含: @import 'compass', 'x1', 'x2'; p{ width:80%; } p{ color:red; } _typo.scss包含: @import 'c

假设您有一个style.scss文件以及两个名为_base.scss和_typo.scss的部分

style.scss仅包含:

@import 'compass', 'x1', 'x2';
p{
    width:80%;
}
p{
    color:red;
}
_base.scss包含:

@import 'compass', 'x1', 'x2';
p{
    width:80%;
}
p{
    color:red;
}
_typo.scss包含:

@import 'compass', 'x1', 'x2';
p{
    width:80%;
}
p{
    color:red;
}
编译style.scss时,style.css如下所示:

p {
 width: 80%;
}

p {
 color: red;
}
与其在最终css中将同一选择器的属性合并为一个,不如如下所示:

p {
 width: 80%;
 color: red;
}

有可能以某种方式得到后一种结果吗?还是有什么不值得推荐的?向拉尔夫致以最诚挚的问候

我认为这不一定是个好主意-如果你只是把规则放在一起,并且有匹配的选择器,那么你就错过了排序。对于《疯狂》来说,如果对“foo”的颜色有另一个规则,它也是一个段落,那么根据它在CSS顺序中出现的位置,这样做会产生不可预测的结果。@moopet这听起来是一个合理的反对意见。谢谢@是的,我已经考虑过了。这样做看起来很奇怪:p{@extend p;color:red;},到目前为止,我认为它一般都会出错,但我尝试了一下,至少编译了它。但不幸的是,同样的效果。每个部分scss文件仍返回一个p。