2015-06-06 67 views
1

是否有可能把這個:不是最後一個孩子混入SASS

.redstripe p:not(last-child) { 
    border-bottom:1px solid red; 
} 

進入一個mixin,這樣我可以把它應用到任何元素,並分配一個子標籤,它想:

@mixin redstripe (this.$children):not(last-child) { 
    border-bottom:1px solid red; 
} 

然後申請:

div { 
    @include redstripe(p); 
} 

什麼是正確的方法來實現這個?

+0

我一直在尋找,但找不到任何說明如何通過一個變量作爲parametre。 – HGB

回答

11

下面是一個通用的mixin,就像你所描述的那樣。

DEMO

@mixin not-last-child($selector) { 
    & #{$selector}:not(:last-child) { 
    @content; 
    } 
} 

我們可以通過它選擇字符串中使用。

SCSS:

.thing { 
    @include not-last-child('p') { 
    color: red; 
    } 
} 

CSS:

.thing p:not(:last-child) { 
    color: red; 
} 

Sass Documentation