Ampersand (&) al final, y parte de, un selector en SASS

Tengo un problema con el que estoy luchando. Tengo este mixin (que es un bash de virar un poco menos a sass):

@mixin button-variant($color, $background, $border) { ... .foreverAlone{ ... } .iThink .illNeverWork& { color: $pinkUnicornRainbow; ... } } 

Lo que obviamente no está funcionando: D Me gustaría que genere algo como:

 .callerClass .foreverAlone{ ... } .callerClass .iThink .illNeverWork.callerClass{ color: #123ABC; ... } 

El mixin se llama dentro de varias clases de div, por lo que no es posible hacerlo estático (fácilmente).

¿Hay alguna solución de algún experto de Sass (o no profesional, pero más inteligente que yo)? Gracias a todos por la atención y por compartir sus soluciones.

Para las versiones Sass 3.2 y anteriores, estas son todas las formas válidas de usar el selector principal:

 .foo { &, &.bar, &#bar, &:after, &[active] { color: red; } } .foo { .bar & { color: red; } } 

A partir de Sass 3.3, esto es válido:

 .foo { &bar, &-bar { color: red; } } 

A partir de Sass 3.4, esto es válido:

 .foo { $foo: &; @at-root bar#{&} { color: red; } } 
    Intereting Posts