Селекторы псевдоклассов с одинаковыми значениями

Я использую псевдоселекторы для классов при наведении курсора и активных классов. В этом случае цвет для наведения и активного будет одинаковым. Это можно сделать так:

a {
  color: #0090B2;
  &:hover {
    color: #FF7A00;
  }
  &.active {
    color: #FF7A00;
  }
}

но я бы не хотел повторять одни и те же атрибуты, я ищу что-то вроде этого, конечно, это не работает, но вы понимаете, что я хочу сделать. Как правильно это сделать? Мне просто использовать миксин?

a {
  color: #0090B2;
  &:hover, &.active {
    color: #FF7A00;
  }
}

Мне нужен такой результат: {color: # 0090B2; } a: hover {цвет: # FF7A00; } a.active {цвет: # FF7A00; }

utiq 28.09.2018 22:27

Вы имели в виду a:active (а не a.active)? a.active - это не псевдокласс. В любом случае, в CSS sel1, sel2 { rules } в точности эквивалентен sel1 { rules } ; sel2 { rules }, поэтому какая бы проблема у вас ни возникала, это не использование одного правила для двух разных селекторов.

Leo K 29.09.2018 08:59

Вы сказали: «[...] конечно, это не работает ...», но это работает. В чем проблема с этим кодом? Я не понимаю, извините.

ReSedano 29.09.2018 09:57
Приемы 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 сценарий полностью изменился.
0
3
62
1

Ответы 1

Опция 1

Я не понимаю, что у тебя не так, у меня это работает:

a {
  color: #0090B2;
  &:hover, &.active {
    color: #FF7A00;
  }
}

Что даст вам:

a {
  color: #00acc1;
}
a:hover, a.active {
  color: #0f9d58;
}

Вариант 2

a {
  color : #00acc1;;

  &:hover {
    @extend %active_link;
  }

  &.active {
    @extend %active_link;
  }
}

%active_link {
  color: #0f9d58;
}

Те же результаты, что и раньше. Но здесь вы можете делать что-то вроде:

a {
  color : #00acc1;;

  &:hover {
    @extend %active_link;
    content: "AAA";
  }

  &.active {
    @extend %active_link;
    content: "BBB";
  }
}

%active_link {
  color: #0f9d58;
}

и получить:

a {
  color: #00acc1;
}
a:hover {
  content: "AAA";
}
a.active {
  content: "BBB";
}

a:hover, a.active {
  color: #0f9d58;
}

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