Является ли порядок псевдоклассов неконфликтующим? - PullRequest
1 голос
/ 30 декабря 2011

Мне известно, что псевдоклассы должны быть в порядке, чтобы не конфликтовать друг с другом.(двойное «в порядке» предназначено)

Дело в том, что я читал, что CSS читает справа налево (при поиске совпадения), и это заставляет меня усомниться в этом:

a{
color:blue;
text-decoration:none;
}

a:hover,a:focus{
text-decoration:underline;
}

Должно ли это быть a:focus,a:hover или это хорошо, как у меня сейчас?

1 Ответ

1 голос
/ 30 декабря 2011

В этом случае это не должно иметь значения, так как они не могут быть запущены одновременно ... учитывая, что :hover для событий ссылки, запускаемых с помощью мыши, а :focus для событий ссылки, запускаемых с помощьюклавиатура.

Однако прочитайте это

Псевдоклассы: link и: посещаемые обычно должны стоять на первом месте.Далее должны быть: focus и: hover - теперь они указаны так, что они переопределяют и применяются как к посещенным, так и к не посещенным ссылкам.Если: focus предшествует: hover, эффект наведения будет применяться к ссылкам с фокусом ввода с клавиатуры.Псевдокласс: active всегда должен стоять последним, так как обычно мы хотим четко указать любые ссылки, которые были активированы.

Отсюда: http://reference.sitepoint.com/css/pseudoclasses

В этом случаеЯ думаю, что идеал будет

a:link{
}

a:visited{
}

a:focus, a:hover{
}

a:active{
}
...