У меня есть таблица стилей SASS, и я хочу назначить одинаковые стили для двух классов (.class и .otherclass), за исключением одного свойства (до :), которое должно иметь другое значение для .otherclass.
Это код, который у меня сейчас есть:
.class, .otherclass {
p { font-family:arial;
&before:
@extend .class-one {}
}
~ .extraclass {}
}
Спасибо
Также ваш существующий код не отражает ваше описание требуемого результата.






Пожалуйста, попробуйте выглядеть так:
.test{
$color:#f00;
}
.demo{
&:extend(.test);
}
Честно говоря, я не уверен, почему вы не хотите писать два разных селектора или просто игнорировать какое-то свойство во втором. Например
.class1, .class2, .class3 {
&:before{
content: 'class';
}
}
.class2:before {
content: 'class2';
}Возможно, будет полезно использовать селектор: not: https://www.w3schools.com/cssref/sel_not.asp
.class1, .class2, .class3 {
&:before {
content: 'class'
}
&:not(.class1):before{
content: 'class23'
}
}Спасибо, хотя переопределение было идеальным с помощью CSS, но, поскольку я немного знаю SASS, мне следует спросить.
Sass, Less и Stylus - всего лишь препроцессоры CSS. Нет причин отбрасывать свойства CSS при использовании SCSS. Код на чистом CSS - это допустимый код SCSS :)
Вы не можете, кроме как сбросить это свойство. Если вы хотите исключить свойство из расширения, не включайте его в исходное определение.