2010-12-03 2 views
2

Я видел это где-то, но я не могу найти больше информации, говоря мне, если это правильно:Правильно ли комбинировать активный и зависающий псевдоселектор, например: active: hover.?

.selector a:active:hover { color: #777; } 
.selector a:hover:active { color: #777; } 

Я не помню, какой один из 2-он был.

Но в любом случае Firefox, похоже, не нравится и ничего не делает.

Был ли это еще один пример учебника, показывающий плохую практику. ??

ответ

7

Оба являются точными (и идентично эквивалентными). Я только что тестировал в Firefox 4.0b6/Mac, и он работает точно так, как я ожидал. В приведенном ниже примере ссылка становится красной, когда я указываю на нее, а затем зеленый, пока я удерживаю кнопку мыши.

<!DOCTYPE HTML> 
<title>Test</title> 
<style> 
a:hover { color: red; } 
a:active { color: yellow; } 
a:hover:active { color: green; } 
</style> 
<h1><a href="test">gggg</a></h1> 

Необычно хотеть, чтобы ссылка была по-разному оформлена при активации с помощью мыши, чем с клавиатурой.

Я подозреваю, что вы можете совершить классическую ошибку. :active означает «При активации (например, когда кнопка мыши нажата над ним)», а не «Когда значение атрибута href переходит в URI текущей страницы».

Нет псевдокласса, который означает «Когда значение атрибута href разрешается для URI текущей страницы», для этого классический шаблон должен добавить «текущий» или «выбранный» класс к якорю на перед отправкой HTML клиенту.

-3

Это неправильная информация не работает, вам нужно будет отключить их.

.selector a:active, .selector a:hover { color: #777; } 
+0

Не мой нисходящий знак, но в CSS запятая означает «или». ОП ищет «и». – 2010-12-03 23:38:50

+0

Нет, это неверно. Comma подразумевает, что несколько правил разделяют определение. без запятой я бы сказал, что я хочу элемент с селектором классов с элементом привязки, с другим элементом селектора под ним. – 2010-12-04 00:00:34

+0

Чтобы добавить к нему, «И» не имеет значения. Элемент не может одновременно делиться активным и: зависающим состоянием. – 2010-12-04 00:06:34

-2

Должно быть

a.selector: активный: парить {цвет: # 777; }

a.selector: hover: active {color: # 777; }

НЕ

.Селекторное: с активным: парением {цвета: # 777; }

.selector a: hover: active {color: # 777; }

Простой: P

Смежные вопросы