Когда вы впервые начали использовать CSS, вы могли бы узнать о мнемонике LoVe-HAte для того, чтобы указать, какие переключатели ссылок (a:link
, a:visited
, a:hover
, a:active
). Вы когда-нибудь задумывались, почему выбрана эта мнемоника?
Ну, в спецификации есть заметка о том, как обрабатываются ссылки и динамические псевдоклассы, когда несколько правил, использующих все из них примените к одному и тому же элементу, что объясняет, почему вам нужно установить селектор ссылок в этом порядке:
Обратите внимание, что A: hover должен быть помещен после правил A: link и A: visited, поскольку иначе каскадные правила скроют свойство «color» правила A: hover. Точно так же, поскольку A: активный помещается после A: hover, активный цвет (известь) будет применяться, когда пользователь активирует и наводится на элемент A.
blockquote>В любом случае, точка I ' m, пытающийся сделать выше, состоит в том, что все четыре псевдокласса, будучи псевдоклассами, имеют одинаковую специфичность. Все, что касается специфики, применяется. В этом случае из группы одинаково определенных селекторов применяется последнее правило. Когда или когда запускается каждый псевдокласс, это никогда не актуально.
Теперь простое введение селектора
.foo
приводит к тому, что ваш второй набор правил ссылок / посещений переопределяет ваш первый набор стилей ссылок / посещений и hover / active styles, заставляя ссылки в элементах с этим классом всегда отображаться зелеными, пока вы не добавите наведение / активные стили с помощью селектора.foo
.Извините, если мой ответ кажется сшитым или slipshod, кстати, я набираю это на своем iPhone прямо сейчас, и здесь довольно сложно придумать ...