Як застосувати ефект наведення до aелемента, але не до aелемента з класом active?
a:hover(not: .active)
Здається, чогось не вистачає.
Як застосувати ефект наведення до aелемента, але не до aелемента з класом active?
a:hover(not: .active)
Здається, чогось не вистачає.
Відповіді:
Функціональне позначення увімкнено :not(), а не :hover:
a:not(.active):hover
Якщо ви віддаєте перевагу ставити :hoverперше, це добре:
a:hover:not(.active)
Не має значення, який псевдо-клас буде першим чи останнім; в будь-якому випадку, селектор працює однаково. Це просто моя особиста умова, яку я ставлю :hoverостанньою, оскільки я схильний розміщувати псевдокласи взаємодії з користувачами за структурними псевдокласами.
Ви можете використовувати not()селектор.
a:not(.active):hover { ... }
Однак це може працювати не у всіх браузерах, оскільки не всі браузери реалізують функції CSS3.
Якщо ви націлені на велику аудиторію і хочете підтримувати старіші браузери, найкращим способом буде визначити стиль для .active:hoverі скасувати те, що ви робите a:hover.
not()msdn.microsoft.com/en-us/library/… . Можливо, побачите відповідь @Mendhak, якщо ви це зробите.