LESS Mixin deaktivieren

Gibt es die Möglichkeit ein Mixin zu deaktiveren, also allen enthaltenen CSS-Variablen den Wert none zuzuweisen? Folgender Anwendungsfall. .is--active .navigation--link { .primary-gradient(); font-weight: 700; color: @brand-primary; &:hover { color: #fff; } } Hier möchte ich keinen Gradienten haben, also .primary-gradient() deaktivieren. Die einzige Lösung die mir derzeit einfällt. Ein neues Mixin .overwrite-primary-gradient definieren und in diesem die CSS-Werte gleich „none“ setzen. Wäre aber deutlich umständlicher als wenn ich gleich an dieser Stelle sagen kann: .primary-gradient(): none (funktioniert erstaunlicherweise nicht :D) oder ähnliches. Kennt jemand eine Möglichkeit?

Hallo, ein Mixin deaktivieren geht leider nicht direkt. Beim Gradient ist es allerdings nicht so schwer. Du musst einfach die Eigenschaft background überschreiben. Folgendes Mixin wird beim .primary-gradient() aufgerufen: .linear-gradient(@start, @end) { background-color: @start; background-image: -ms-linear-gradient(top, @start, @end); background-image: linear-gradient(to bottom, @start 0%, @end 100%); } Sonnige Grüße, Phil

1 Like

Hat bei mir geklappt mit: .is--active .navigation--link { background-color: rgb(0, 0, 0); background-image: none; } Im Browser sehe ich aber, dass die mixin noch immer herangezogen wird. Jedoch deaktiviert. Kann das Auswirkungen haben? Grüße