Spec-Zone.ru › CSS

CSS-псевдокласс `:focus-within`

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она поддерживается во всех браузерах с января 2020 года.

:focus-within CSS-псевдокласс соответствует элементу, если этот элемент или любой из его потомков находится в фокусе. Иными словами, он представляет элемент, который сам соответствует псевдоклассу :focus или имеет потомка, соответствующего :focus. (Сюда входят потомки в теневых деревьях.)

Этот селектор полезен, например, для подсветки всего контейнера <form>, когда пользователь переводит фокус на одно из его полей <input>.

Попробуйте

label {
  display: block;
  margin-top: 1em;
}

label:focus-within {
  font-weight: bold;
}
<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 {
  /* ... */
}

Примеры

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

HTML

<p>Try typing into this form.</p>

<form>
  <label for="given_name">Given Name:</label>
  <input id="given_name" type="text" />
  <br />
  <label for="family_name">Family Name:</label>
  <input id="family_name" type="text" />
</form>

CSS

form {
  border: 1px solid;
  color: gray;
  padding: 4px;
}

form:focus-within {
  background: #ffff88;
  color: black;
}

input {
  margin: 4px;
}

Результат

Спецификации

Спецификация
Селекторы, уровень 4
# the-focus-within-pseudo

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS
focus-within
60
79
52
47
10.1
60
52
44
10.3
8.0
60
10.3
top-layer_ancestor_matching_boundary
149
149
Нет
133
Нет
149
Нет
100
Нет
Нет
149
Нет

См. также

  • :focus
  • :focus-visible
  • Привлеките внимание пользователя с помощью селектора focus-within

© 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-within

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API