CSS-псевдокласс `:focus`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
:focus CSS псевдокласс обозначает элемент (например, поле ввода формы), который получил фокус. Обычно он срабатывает, когда пользователь нажимает или касается элемента либо выбирает его с помощью клавиши Tab.
Попробуйте
label {
display: block;
margin-top: 1em;
}
input:focus {
background-color: lightblue;
}
select:focus {
background-color: ivory;
}
<form>
<p>Which flavor would you like to order?</p>
<label>Full Name: <input name="firstName" type="text" /></label>
<label
>Flavor:
<select name="flavor">
<option>Cherry</option>
<option>Green Tea</option>
<option>Moose Tracks</option>
<option>Mint Chip</option>
</select>
</label>
</form>
Примечание: Этот псевдокласс применяется только к самому элементу, находящемуся в фокусе. Используйте :focus-within, если хотите выбрать элемент, который содержит элемент в фокусе.
Синтаксис
:focus {
/* ... */
}
Доступность
Убедитесь, что визуальный индикатор фокуса виден людям со слабым зрением. Это также будет полезно всем, кто пользуется экраном в ярко освещённом месте (например, на улице под солнцем). Критерий WCAG 2.1 1.4.11 «Контрастность нетекстовых элементов» требует, чтобы контрастность визуального индикатора фокуса составляла не менее 3:1.
- Доступные визуальные индикаторы фокуса: Не забывайте о фокусе на сайте! Советы по созданию полезных и удобных индикаторов фокуса
:focus { outline: none; }
Никогда не удаляйте индикатор контура фокуса (видимый индикатор фокуса), не заменив его другим контуром фокуса, который соответствует требованиям критерия WCAG 2.1 1.4.11 «Контрастность нетекстовых элементов».
- Краткий совет: Никогда не удаляйте контуры CSS
Примеры
HTML
<div><input class="red-input" value="I'll be red when focused." /></div> <div><input class="blue-input" value="I'll be blue when focused." /></div>
CSS
.red-input:focus {
background: yellow;
color: red;
}
.blue-input:focus {
background: yellow;
color: blue;
}
Результат
Спецификации
| Спецификация |
|---|
| HTML # selector-focus |
| Селекторы уровня 4 # focus-pseudo |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
focus |
1 |
12 |
1 |
7 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:focus