Псевдокласс :link
применяется к ссылке, даже если вы наводите указатель мыши на нее. Поскольку стиль с идентификатором более специфичен, он переопределяет другие.
Единственная причина, по которой стиль :hover
переопределяет стиль :link
, заключается в том, что он появляется позже в таблице стилей. Если вы разместите их в следующем порядке:
a:hover { color: red; }
a:link { color: blue; }
стиль :link
позже в таблице стилей и переопределяет стиль :hover
. При наведении на нее ссылка остается синей.
Чтобы стиль :hover
работал для черной ссылки, вы должны сделать его как минимум таким же специфичным, как стиль :link
, и поместить его после него в таблицу стилей:
a:link { color: blue; }
a:hover { color: red; }
#someID a:link { color: black; }
#someID a:hover { color: red; }