我可以使用基类'类'来覆盖子元素吗?

问题描述:

使用SCSS,我想样式为.some-base类型的所有h3元素,但似乎我需要在派生样式中定义覆盖。所以我可以使用基类'类'来覆盖子元素吗?

不起作用:

.some-base { 
    h3 { 
     margin-right: 3px; 
    } 
} 

.some-derived { 
    @extend .some-base; 
} 

是否工作:

.some-base { 

} 

.some-derived { 
    @extend .some-base; 
    h3 { 
     margin-right: 3px; 
    } 
} 

任何方式来获得的第一个方法来工作,所以我并不需要在每个覆盖重新定义呢?

.some-base没有适用于自己的任何样式。如果您在示例1中将color: red放在.some-base上,则会看到它由.some-derived继承(注意:它需要进入.some-base而不是.some-base h3)。

如果它定义为一个嵌套类这是不可能的,虽然延嵌套类,所以你不能延长.some-base和快进去吧(在这一个100%确定)中定义的h3样式,也可以延长.some-base h3。如果您将.some-base h3 {}定义为自己的规则而不是.some-base { h3 {} },则可以对其进行扩展(95%确定)。

+0

它看起来不像我可以延伸从你的后一个建议 - 所以我想我只需要手动应用这种特殊的风格重写! – Rollie 2014-09-23 22:24:54