CodeGym /Cursos /Frontend SELF PT /Pseudoclasses de Formulário

Pseudoclasses de Formulário

Frontend SELF PT
Nível 29 , Lição 3
Disponível

4.1 Pseudoclasse :checked

As pseudoclasses de formulário no CSS oferecem possibilidades de estilização para elementos do formulário dependendo do estado deles. Essas pseudoclasses permitem criar formulários interativos e acessíveis, aprimorando a interface e a experiência do usuário. Vamos ver mais de perto as pseudoclasses :checked, :disabled, :enabled e :invalid.

A pseudoclasse :checked é aplicada a elementos do formulário que estão no estado "selecionado". Isso se refere a checkboxes (<input type="checkbox">), botões de rádio (<input type="radio">) e opções (<option>).

Sintaxe:

    
      seletor:checked {
        propriedades: valores;
      }
    
  

Exemplo de uso

Neste exemplo, os checkboxes, botões de rádio e opções selecionadas recebem a cor de fundo correspondente quando estão no estado "selecionado":

CSS
    
      /* Estilização do checkbox selecionado */

      input[type="checkbox"]:checked {
        background-color: #3498db;
      }

      /* Estilização do botão de rádio selecionado */

      input[type="radio"]:checked {
        background-color: #2ecc71;
      }

      /* Estilização da opção selecionada */

      option:checked {
        background-color: #e74c3c;
      }
    
  

4.2 Pseudoclasse :disabled

A pseudoclasse :disabled é aplicada a elementos do formulário que estão no estado desabilitado. Isso é útil para estilizar elementos que estão temporariamente indisponíveis para interação.

Sintaxe:

    
      seletor:disabled {
        propriedades: valores;
      }
    
  

Exemplo de uso

Neste exemplo, os campos de entrada e botões desabilitados recebem a cor de fundo, borda e texto correspondentes, além de alterar o cursor para "não permitido":

CSS
    
      /* Estilização do campo de entrada desabilitado */

      input:disabled {
        background-color: #f0f0f0;
        border-color: #ccc;
        color: #888;
      }

      /* Estilização do botão desabilitado */

      button:disabled {
        background-color: #d0d0d0;
        color: #777;
        cursor: not-allowed;
      }
    
  

4.3 Pseudoclasse :enabled

A pseudoclasse :enabled é aplicada a elementos do formulário que estão no estado habilitado. Isso permite estilizar elementos que estão disponíveis para interação.

Sintaxe:

    
      seletor:enabled {
        propriedades: valores;
      }
    
  

Exemplo de uso

Neste exemplo, os campos de entrada e botões habilitados recebem a cor de fundo, borda e texto correspondentes, além de alterar o cursor para "ponteiro":

CSS
    
      /* Estilização do campo de entrada habilitado */

      input:enabled {
        background-color: #fff;
        border-color: #3498db;
      }

      /* Estilização do botão habilitado */

      button:enabled {
        background-color: #2ecc71;
        color: white;
        cursor: pointer;
      }
    
  

4.4 Pseudoclasse :invalid

A pseudoclasse :invalid é aplicada a elementos do formulário que não passaram pela validação. Isso permite estilizar campos de entrada que contêm dados incorretos.

Sintaxe:

    
      seletor:invalid {
        propriedades: valores;
      }
    
  

Exemplo de uso

Neste exemplo, os campos de entrada e áreas de texto incorretos recebem a cor de borda e fundo correspondentes, para mostrar visualmente que os dados não passaram pela validação:

CSS
    
      /* Estilização do campo de entrada incorreto */

      input:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }

      /* Estilização da área de texto incorreta */

      textarea:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }
    
  

4.5 Exemplo de implementação completa

CSS
    
      /* Estilização do checkbox selecionado */

      input[type="checkbox"]:checked {
        background-color: #3498db;
      }

      /* Estilização do botão de rádio selecionado */

      input[type="radio"]:checked {
        background-color: #2ecc71;
      }

      /* Estilização do campo de entrada desabilitado */

      input:disabled {
        background-color: #f0f0f0;
        border-color: #ccc;
        color: #888;
      }

      /* Estilização do botão desabilitado */

      button:disabled {
        background-color: #d0d0d0;
        color: #777;
        cursor: not-allowed;
      }

      /* Estilização do campo de entrada habilitado */

      input:enabled {
        background-color: #fff;
        border-color: #3498db;
      }

      /* Estilização do botão habilitado */

      button:enabled {
        background-color: #2ecc71;
        color: white;
        cursor: pointer;
      }

      /* Estilização do campo de entrada incorreto */

      input:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }

      /* Estilização da área de texto incorreta */

      textarea:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Exemplo de pseudoclasses de formulário</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <form>
            <label>
              <input type="checkbox" name="option1"> Option 1
            </label>
            <br>
            <label>
              <input type="radio" name="choice" value="1"> Choice 1
            </label>
            <label>
              <input type="radio" name="choice" value="2"> Choice 2
            </label>
            <br>
            <input type="text" placeholder="Enter your name" required>
            <br>
            <input type="email" placeholder="Enter your email" required>
            <br>
            <button type="submit">Submit</button>
            <button type="button" disabled>Disabled Button</button>
          </form>
        </body>
      </html>
    
  
1
Pesquisa/teste
Pseudo-classes, nível 29, lição 3
Indisponível
Pseudo-classes
Pseudo-classes
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION