CodeGym /Curso Java /Frontend SELF PT /Aprimorando Design e UX

Aprimorando Design e UX

Frontend SELF PT
Nível 30 , Lição 4
Disponível

9.1 Melhorando a interatividade com pseudo-classes

As pseudo-classes e pseudo-elementos no CSS são ferramentas poderosas para melhorar o design e a experiência do usuário (UX) nas páginas da web. Com eles, dá para criar elementos interativos e dinâmicos, melhorar a percepção visual e aumentar a acessibilidade.

Vamos dar uma olhada em alguns exemplos de como usar pseudo-classes e pseudo-elementos para esses objetivos.

1. Passando o cursor

A pseudo-classe :hover permite mudar o estilo de um elemento quando o usuário passa o cursor por cima. Isso é especialmente útil para botões e links.

Exemplo: Mudando a cor do botão ao passar o cursor

Neste exemplo, a cor de fundo do botão muda ao passar o cursor, o que melhora o feedback visual e deixa a interface mais interativa:

CSS
    
      button {
        background-color: #3498db;
        color: white;
        border: none;
        padding: 10px 20px;
        cursor: pointer;
      }

      button:hover {
        background-color: #2980b9;
      }
    
  
HTML
    
      <button>Click Me</button>
    
  

2. Foco no elemento

A pseudo-classe :focus é usada para estilizar elementos de formulário quando estão em foco. Isso ajuda os usuários a verem qual elemento do formulário estão preenchendo no momento.

Exemplo: Estilizando o campo de entrada ao focar

Neste exemplo, o campo de entrada ganha uma borda azul e sombra ao focar, melhorando a visibilidade do elemento ativo do formulário:

CSS
    
      input[type="text"] {
        border: 1px solid #ccc;
        padding: 10px;
      }

      input[type="text"]:focus {
        border-color: #3498db;
        box-shadow: 0 0 5px rgba(52, 152, 219, 0.5);
      }
    
  
HTML
    
      <input type="text">
    
  

3. Estado ativo do elemento

A pseudo-classe :active é aplicada a um elemento no momento de sua ativação (por exemplo, ao clicar com o mouse).

Exemplo: Estilizando o botão no momento do clique

Neste exemplo, o botão diminui levemente e muda de cor ao clicar, criando um efeito de clique:

CSS
    
      button:active {
        background-color: #2c3e50;
        transform: scale(0.98);
      }
    
  
HTML
    
      <button>Click Me</button>
    
  

9.2 Aprimorando a percepção visual com pseudo-elementos

4. Adicionando conteúdo: ::before e ::after

Os pseudo-elementos ::before e ::after permitem adicionar conteúdo antes e depois de um elemento, sem alterar o código HTML.

Exemplo: Adicionando um ícone antes de um link

Neste exemplo, um ícone é adicionado antes do texto do link, melhorando a percepção visual e indicando aos usuários que se trata de um link:

CSS
    
      a::before {
        content: "🔗";
        margin-right: 5px;
      }
    
  
HTML
    
      <a href="#">Here</a>
    
  

Exemplo: Adicionando um elemento decorativo após um parágrafo

Neste exemplo, um elemento decorativo é adicionado após o parágrafo, melhorando o visual da página:

CSS
    
      p::after {
        content: "❦";
        display: block;
        text-align: right;
        color: #e74c3c;
      }
    
  
HTML
    
      <p>Content</p>
    
  

5. Estilizando a primeira letra e linha: ::first-letter e ::first-line

Os pseudo-elementos ::first-letter e ::first-line permitem estilizar a primeira letra e a primeira linha de texto, criando efeitos tipográficos.

Exemplo: Estilizando a primeira letra do parágrafo

Neste exemplo, a primeira letra do parágrafo é aumentada e colorida de azul, criando o efeito de "primeira letra embutida", comumente utilizado em design de revistas:

CSS
    
      p::first-letter {
        font-size: 2.5em;
        font-weight: bold;
        color: #3498db;
        float: left;
        margin-right: 0.1em;
      }
    
  
HTML
    
      <p>Content</p>
    
  

Exemplo: Estilizando a primeira linha do parágrafo

Neste exemplo, a primeira linha do parágrafo é destacada em negrito e verde, melhorando a legibilidade do texto:

CSS
    
      p::first-line {
        font-weight: bold;
        color: #2ecc71;
      }
    
  
HTML
    
      <p>Content</p>
    
  

9.3 Melhorando a acessibilidade com pseudo-classes e pseudo-elementos

6. Estado dos elementos de formulário

As pseudo-classes de formulário permitem estilizar os elementos conforme seu estado, melhorando a acessibilidade e a interface do usuário.

Exemplo: Estilizando checkbox selecionado

Neste exemplo, o checkbox selecionado fica com cor verde, melhorando o feedback visual:

CSS
    
      input[type="checkbox"]:checked {
        background-color: #2ecc71;
      }
    
  
HTML
    
      <input type="checkbox" checked>
    
  

Exemplo: Estilizando campo de entrada desativado

Neste exemplo, o campo de entrada desativado ganha fundo cinza claro e texto cinza, mostrando visualmente sua indisponibilidade:

CSS
    
      input:disabled {
        background-color: #f0f0f0;
        color: #999;
      }
    
  
HTML
    
      <input type="text" disabled>
    
  

Exemplo: Estilizando campo de entrada incorreto

Neste exemplo, o campo de entrada incorreto ganha uma borda vermelha, ajudando os usuários a identificarem erros ao inserir dados:

CSS
    
      input:invalid {
        border-color: #e74c3c;
      }
    
  
HTML
    
      <input type="text">
    
  

9.4 Exemplo de implementação completa

CSS
    
      /* Adicionando ícone antes do link */

      a::before {
        content: "🔗";
        margin-right: 5px;
      }

      /* Estilizando a primeira letra do parágrafo ao passar o cursor */

      p:hover::first-letter {
        font-size: 2.5em;
        font-weight: bold;
        color: #3498db;
      }

      /* Estilizando botão */

      button {
        background-color: #3498db;
        color: white;
        border: none;
        padding: 10px 20px;
        cursor: pointer;
      }

      button:hover {
        background-color: #2980b9;
      }

      button:active {
        background-color: #2c3e50;
        transform: scale(0.98);
      }

      /* Estilizando campo de entrada ao focar */

      input[type="text"]:focus,
      input[type="email"]:focus {
        border-color: #3498db;
        box-shadow: 0 0 5px rgba(52, 152, 219, 0.5);
      }

      /* Estilizando checkbox selecionado */

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

      /* Estilizando campo de entrada desativado */

      input:disabled {
        background-color: #f0f0f0;
        color: #999;
      }

      /* Estilizando campo de entrada incorreto */

      input:invalid {
        border-color: #e74c3c;
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Exemplos de uso de pseudo-classes e pseudo-elementos</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <a href="#">Link com ícone</a>
          <p>Passe o cursor sobre este parágrafo para ver o efeito na primeira letra.</p>
          <button>Botão</button>
          <form>
            <label>
              Digite o texto:
              <input type="text" required>
            </label>
            <br>
            <label>
              Digite o email:
              <input type="email" required>
            </label>
            <br>
            <label>
              <input type="checkbox" checked> Checkbox
            </label>
            <br>
            <button type="submit">Enviar</button>
            <button type="button" disabled>Botão desativado</button>
          </form>
        </body>
      </html>
    
  

As pseudo-classes e pseudo-elementos oferecem ferramentas poderosas para melhorar o design e a experiência do usuário nas páginas da web. Usá-los permite criar elementos interativos e dinâmicos, melhorar a percepção visual, aumentar a acessibilidade e tornar as interfaces mais amigáveis e agradáveis para os usuários.

Compreender e aplicar corretamente essas ferramentas abre uma infinidade de possibilidades para criar designs web modernos e eficientes.

1
Опрос
Pseudo-elementos,  30 уровень,  4 лекция
недоступен
Pseudo-elementos
Pseudo-elementos
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION