Ответ 1
Я думаю, вы можете наследовать только .label
, который должен дать .label-new-important
и .label-new-warning
(и эквивалент для updated
). Если это нежелательно и вам нужны новые добавленные расширения, вам, вероятно, необходимо снова определить цвета непосредственно для .label
, чтобы изолировать и определить, что вы хотите. Например:
.label {
// New (red)
&-new { background-color: @errorText; }
&-new[href] { background-color: darken(@errorText, 10%); }
// Updated (orange)
&-updated { background-color: @orange; }
&-updated[href] { background-color: darken(@orange, 10%); }
}
EDIT (Если вы не хотите переопределять цвета, но используйте mixin)
Чтобы избежать переопределения цветов, вам необходимо изменить исходное определение и сделать следующее:
Сначала удалите исходные определения .label
и .badge
, а затем укажите их более явно следующим образом:
.label-important,
.badge-important {
// Important (red)
{ background-color: @errorText; }
{ background-color: darken(@errorText, 10%); }
}
.label-warning,
.badge-warning {
// Warnings (orange)
{ background-color: @orange; }
{ background-color: darken(@orange, 10%); }
}
.label-new {
.label-important;
}
.label-updated {
.label-warning;
}