Есть ли способ создать класс, который удаляет наведение CSS из элемента?
Скажем, у меня есть два элемента:
<div class="orange noHover">Whatever</div>
<div class="blue noHover">Whatever2</div>
.orange {
color:orange;
}
.orange:hover {
color:red;
}
.blue {
color:blue;
}
.blue:hover {
color:green;
}
.noHover:hover {
//Remove all hover css applied
}
Я хочу, чтобы класс noHover вел себя так, как будто оранжево-синий CSS никогда не применялся ни к одному элементу. Таким образом, оранжевый всегда будет оранжевым, а синий - синим.
2 ответа
Насколько я могу судить, вы хотите, чтобы элементы ничего не делали при наведении курсора. Другими словами, они сохраняют те стили, которые у них обычно были бы, когда они не зависали. Например, если у них оранжевый фон, когда они не наведены, вы хотите, чтобы они оставались оранжевыми.
К сожалению, с чистым css это невозможно сделать.
Хорошо, может быть, это не совсем то, что вы имели в виду, но это сработает:
.orange,
.orange.noHover:hover {
color:orange;
}
.orange:hover {
color:red;
}
.blue,
.blue.noHover:hover {
color:blue;
}
.blue:hover {
color:green;
}
Другой метод, но не совместимый с IE8 и ниже:
.orange {
color:orange;
}
.orange:not(.noHover):hover {
color:red;
}
.blue {
color:blue;
}
.blue:not(.noHover):hover {
color:green;
}
Похожие вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].