Перейти к содержимому

CSS псевдокласс :required

Псевдокласс :required CSS выделяет элементы формы, у которых установлен атрибут required. Это позволяет формам указывать, какие поля должны содержать корректные данные перед отправкой, помогая пользователям избежать ненужного ожидания.

Он применяется к элементам формы, поддерживающим атрибут required, таким как <input>, <select> и <textarea>. Селектор :required можно комбинировать с псевдоэлементами (например, ::after) и другими селекторами (например, :hover). Элементы, не являющиеся обязательными, можно стилизовать с помощью псевдокласса :optional, а также :valid и :invalid, которые активируются при соблюдении требований к данным поля формы.

Версия

W3C Selectors Level 4

CSS Basic User Interface Module Level 3

Синтаксис

Синтаксис CSS :required

css
:required {
  css declarations;
}

Пример использования селектора :required:

Пример кода CSS :required

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        margin: 40px auto;
        max-width: 400px;
      }
      label,
      button {
        display: block;
        width: 100%;
        margin-bottom: 1.5em;
      }
      input,
      button {
        padding: .4em 1em;
      }
      input {
        border: 1px solid #666666;
      }
      input:optional {
        background-color: #eeeeee;
        color: #666666;
      }
      input:required {
        border-bottom: 3px solid #1c87c9;
      }
    </style>
  </head>
  <body>
    <h2>:required selector example</h2>
    <div class="example">
      <form action="#">
        <label>
          <input type="text" required />Name *
        </label>
        <label>
          <input type="email" required />Email *
        </label>
        <label>
          <input type="tel" />Phone (optional)
        </label>
        <label>
          <input type="url" />Address (optional)
        </label>
      </form>
    </div>
  </body>
</html>

В приведенном примере используются оба селектора псевдоклассов: :optional и :required.

Practice

Какова функция псевдокласса ':required' в CSS?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.