2014-04-22 29 views
5

如何修改父元素選擇器鏈的根元素? (SASS使用3.3.x)喜歡的東西...如何修改sass中的根父元素選擇器

=prepend($prefix) 
    @at-root .#{$prefix}#{&} // note there is no dot (.) separating it 
    @content 

.foo 
    .bar 
    +prepend(baz) 
     background: red  

,並返回

.baz.foo .bar { 
    background: red; 
} 

甚至更​​好的...一個明確的方式爲目標的根元素(甚至第n個元素)?

+0

同樣的問題在這裏。看起來SASS只支持更簡單的用例,即將當前選擇器的內容封裝到另一個類中,ala http://stackoverflow.com/questions/19563128。這對於在更大的規則集內嵌入瀏覽器或設備特定的覆蓋將非常方便。 – peteorpeter

回答

0
=prepend($prefix) 
    &.#{$prefix} 
    @content 

.foo 
    +prepend("baz") 
    .bar 
     background: red 

返回此:

.foo.baz .bar { 
    background: red; 
} 

在正確的軌道?

+0

我希望能夠預先添加到樹中任何位置的根目錄。此解決方案只在直接從您要預先配置的父級使用mixin的情況下才有效。 – brewster

+0

@brewster那麼它會觸發不同結果的條件是什麼?你期望的更多例子會有所幫助。 – artlung