Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CSS-Pseudoklasse :focus-within

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Die CSS-Pseudoklasse :focus-within stimmt mit einem Element überein, wenn das Element selbst oder einer seiner Nachkommen fokussiert ist. Mit anderen Worten stellt sie ein Element dar, das selbst von der Pseudoklasse :focus erfasst wird oder einen Nachkommen hat, der von :focus erfasst wird. (Dies schließt Nachkommen in Shadow Trees ein.)

Dieser Selektor ist beispielsweise nützlich, um einen gesamten <form>-Container hervorzuheben, wenn die Benutzerin oder der Benutzer eines seiner <input>-Felder fokussiert.

Probieren Sie es aus

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>

Syntax

css
:focus-within {
  /* ... */
}

Beispiele

In diesem Beispiel erhält das Formular spezielle Farbformatierungen, wenn eine der beiden Texteingaben den Fokus erhält.

HTML

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

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

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

input {
  margin: 4px;
}

Ergebnis

Spezifikationen

Spezifikation
Selectors Level 4
# the-focus-within-pseudo

Browser-Kompatibilität

Siehe auch