2013-09-17 3 views
2

Все привязные ссылки, за исключением одного, получают фоновый цвет, измененный в фокусе, за исключением одного.Фокус не выделяет привязку на вкладке

HTML

<a id="login-as-guest">Cancel and browse as guest</a>

CSS

#login-as-guest a:focus{ background-color: yellow; }

Любые идеи?

+0

следует, что не может быть 'A # Войти-как-гость: focus'? – Pevara

+0

@PeterVR, нет это не работает. – Matt

+0

Можете ли вы создать пример в jsfiddle? Я не совсем понимаю, что вы после ... – Pevara

ответ

9

Чтобы использовать фокус, вам нужно назначить tabindex для элемента, поскольку он не является входом. В противном случае вы можете использовать active. Также ваш код неверен. В настоящее время он ищет элемент a внутри элемента с этим ID.

Правильный путь будет

a#login-as-guest:focus{ background-color: yellow; } 

Оба способа: DEMO http://jsfiddle.net/kevinPHPkevin/t2hbS/

+1

'tabindex =" 0 "' был ключ, по-видимому. Однако не нужно было перемещать тег 'a'. Благодаря! – Matt

+0

@Matt: Не перемещая 'a', он работает для всех тегов, которые являются дочерними элементами с идентификатором' id = "login-as-guest" '. Если ваш оригинальный стиль работает, это просто потому, что браузер хорош для вас. – awe

+0

В моем случае якорь не получал фокус, потому что у него не было атрибута href, поскольку я создавал его из javascript и использовал onclick ... поэтому у меня не было этого href ... –

5

Якорь тег без HREF атрибута не может получить фокус (по крайней мере, в Chrome, но я думаю, что это стандартное поведение). Также вы выбрали неверный вариант, вы пытаетесь выбрать a, который является потомком #login-as-guest. Селектор должен быть a#login-as-guest:focus, который выберет a с идентификатором #login-as-guest с фокусом.

Посмотрите на обновленную скрипке: http://jsfiddle.net/VKvBy/1/

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