Pseudoklasa CSS :invalid

> Dodaj do ulubionych

Pseudoklasa CSS :invalid wybiera każdy element formularza, który pośrednio lub bezpośrednio zawiera nieprawidłową wartość lub treść. Oznacza to, że pseudoklasa ta uwzględnia także takie elementy, jak form i fieldset, w których mogą znajdować się elementy formularza zawierające nieprawidłową wartość.

Jeśli na przykład formularz zawiera element input typu number, którego maksymalna wartość wynosi 10, a użytkownik wpisze 20, to pseudoklasa :invalid wybierze zarówno ten element input, jak i zawierający go element form oraz ewentualnie element fieldset.

W przypadku przycisków radiowych pseudoklasa :invalid wybiera wszystkie elementy z grupy (zbioru elementów typu input z atrybutem name o takiej samej wartości), jeśli jeden z nich jest wymagany (ma atrybut required), ale żaden z nich nie jest zaznaczony.

Przykład użycia :invalid

Poniżej znajduje się prosty formularz HTML zawierający jeden element fieldset i jeden element input typu number oraz dotyczący go arkusz stylów.

<style>
  form:invalid {
    padding: 15px;
    background-color: lightgreen;
  }
  fieldset:invalid {
    padding: 15px;
    background-color: lightyellow;
  }
  input:invalid {
    background-color: lightpink;
  }
</style>
...
<form>
  <fieldset>
    <input type="number" name="liczba" min="10" max="20">
  </fieldset></form>

Dopuszczalny zakres wartości w tym elemencie input wynosi od 10 do 20. Jeśli użytkownik wpisze na przykład liczbę 5, to element ten będzie zawierał nieprawidłową wartość, w efekcie czego pseudoklasa :invalid będzie odnosiła się do elementów input, fieldset i form tego formularza, co widać na poniższym zrzucie ekranu.

Efekt użycia pseudoklasy :invalid

Składnia :invalid

Składnia pseudoklasy :invalid:

:invalid {...}