SASS - Как я могу назначить двум классам один и тот же стиль, кроме одного свойства?

У меня есть таблица стилей SASS, и я хочу назначить одинаковые стили для двух классов (.class и .otherclass), за исключением одного свойства (до :), которое должно иметь другое значение для .otherclass.

Это код, который у меня сейчас есть:

.class, .otherclass {

    p { font-family:arial;
         &before: 
              @extend .class-one {}
    }

    ~ .extraclass {}
}

Спасибо

Вы не можете, кроме как сбросить это свойство. Если вы хотите исключить свойство из расширения, не включайте его в исходное определение.

Paulie_D 04.01.2019 13:17

Также ваш существующий код не отражает ваше описание требуемого результата.

Paulie_D 04.01.2019 13:18
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
2
2 769
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Пожалуйста, попробуйте выглядеть так:

.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, мне следует спросить.

Mar 04.01.2019 18:01

Sass, Less и Stylus - всего лишь препроцессоры CSS. Нет причин отбрасывать свойства CSS при использовании SCSS. Код на чистом CSS - это допустимый код SCSS :)

Andreew4x4 09.01.2019 10:03

Другие вопросы по теме