2015-06-23 2 views
1

Я знаю, что люди здесь, как правило, читают черновик спецификации, но, к сожалению, я отстаю в этом отделе, поэтому у меня есть вопрос.: focus pseudo class with next sibling curiosity

Это ошибка, еще не реализована, не будет реализована или еще неизвестна?

<div>Hello there</div> 
<div>I'm next</div> 

div:hover + div { background: blue; } /*works*/ 
div:focus + div { background: blue; } /*does NOT work*/ 

EDIT: эта структура ДИВ выбор плохой пример, потому что это очень трудно сосредоточиться на DIV в среде вроде jsfiddle, но все-таки общий вопрос.

EDIT2: Поцарапайте это, он работает, но вы не можете сфокусировать его с помощью мыши. Weird.

EDIT3: Вы действительно можете, см. Принятый ответ.

ответ

3

По умолчанию элемент пассивный - не получает фокус.

Для того, чтобы элемент фокусируемый он должен быть либо <input> или имеет tabindex атрибут:

Попробуйте это:

div:hover + div { background: blue; } 
 
div:focus + div { background: red; }
<div tabindex="1">Hello there</div> 
 
<div>I'm next</div>

+0

Ах, TabIndex. Понял. Спасибо. Скоро ответит. Спасибо. –

+2

Если он должен быть только сфокусирован с помощью мыши, но не доступен с помощью клавиши табуляции, следует использовать отрицательный 'tabindex'. – Oriol