сместить фокус на div через css - PullRequest
2 голосов
/ 31 марта 2010

Есть ли способ сместить фокус на div по умолчанию через чистый CSS и не используя JavaScript?

Заранее спасибо ..

Ответы [ 5 ]

4 голосов
/ 31 марта 2010

Нет CSS не предлагает ничего в фокусе. Я знаю, что вы сказали, что нет JavaScript, но как легко:

document.getElementById('div').focus();
2 голосов
/ 07 июня 2016

Так как ни один из ответов здесь не работал для меня (хотя я хотел сосредоточиться на вводе, а не на div), я выложу ответ, который работает:

автофокусировка

просто так:

<input autofocus>

Конечно, ОП спрашивает, как заставить эту работу работать с div, а это не так. Как упоминалось ранее, contenteditable = "yes" сделает фокусируемым на div, но это, к сожалению, тоже не работает:

<div contenteditable="yes" autofocus>
  This doesn't work!!
</div>

На мой взгляд, это своего рода недосмотр в HTML5, этот div должен действовать как поле ввода. Однако на данный момент, по-видимому, для этого необходим javascript.

2 голосов
/ 31 марта 2010

Нет, это не так.

В нормальных условиях div не может получить фокус вообще, а CSS не хватает ничего, чтобы установить фокус.

1 голос
/ 09 апреля 2013

Любой элемент может получить фокус, если он является contenteditable. Однако CSS не распознает: сфокусировать псевдоклассы для элементов, отличных от input, select, a, textarea и button.

0 голосов
/ 31 марта 2010

, хотя это зависит от того, чего вы пытаетесь достичь, вы можете применить псевдокласс :hover к div, если хотите визуально выделить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...