2011-09-26 2 views
2

Le code .scss suivant:Supprimer/supprimer un attribut d'un mixin

@mixin div-base { 
    width: 100px; 
    color: red; 
} 

#data { 
    @include div-base; 
} 

produira:

#data { 
    width: 100px; 
    color: red; } 

Je voudrais faire quelque chose comme:

#data { 
    @include div-base; 
    remove or delete: width right here 
} 

à produire:

#data { 
    color: red; 
} 

Est-il même possible de faire quelque chose dans ce sens?

+0

avoir une classe de base avec le strict minimum et l'étendre pour la 'div-base' –

Répondre

2

Vous pouvez obtenir le même effet en réglant de nouveau la largeur de la valeur par défaut (définie à auto):

@mixin div-base { 
    width: 100px; 
    color: red; 
} 

#data { 
    @include div-base; 
    width: auto; 
} 
3

La meilleure façon de le faire est d'utiliser arguments sur votre mixin:

@mixin div-base($width: 100px, $color: red) { 
    @if $width != false { width: $width; } 
    @if $color != false { color: $color; } 
} 

#data { 
    @include div-base($color: false); 
}