Gradientes

Frontend SELF PT
Nível 32 , Lição 2
Disponível

8.1 Gradientes Lineares (linear-gradient)

Gradientes em CSS permitem criar transições suaves entre duas ou mais cores. Eles são usados para fundos, botões e outros elementos, para adicionar profundidade visual e apelo. No CSS existem dois tipos principais de gradientes: lineares (linear-gradient) e radiais (radial-gradient).

Gradiente linear cria uma transição suave entre cores ao longo de uma linha reta. A direção da linha e as transições de cor podem ser ajustadas com precisão.

Sintaxe:

    
      background: linear-gradient(direction, color-stop1, color-stop2, ...);
    
  

Onde:

  • direction: direção do gradiente. Pode ser especificado por um ângulo (por exemplo, 45deg) ou palavras-chave (to right, to bottom, etc.)
  • color-stop: define a cor e sua posição no gradiente

Exemplo 1: Gradiente linear simples

Neste exemplo é criado um gradiente que muda de vermelho para azul da direita para a esquerda:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: linear-gradient(to right, red, blue);
      }
    
  

Exemplo 2: Gradiente linear com ângulo

Neste exemplo, o gradiente se move em um ângulo de 45 graus de amarelo para verde:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: linear-gradient(45deg, yellow, green);
      }
    
  

Exemplo 3: Gradiente linear com várias cores

Neste exemplo, o gradiente vai de cima para baixo, passando suavemente por quatro cores: vermelho, amarelo, verde e azul:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: linear-gradient(to bottom, red, yellow, green, blue);
      }
    
  

Exemplo 4: Gradiente linear com pontos de controle

Neste exemplo, são especificados pontos de controle que determinam a posição exata de cada cor no gradiente:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: linear-gradient(to right, red 0%, yellow 50%, green 100%);
      }
    
  

8.2 Gradientes Radiais (radial-gradient)

Gradiente radial cria uma transição suave entre cores, começando do centro ou de um ponto especificado. O gradiente se expande em um círculo ou elipse.

Sintaxe:

    
      background: radial-gradient(shape size at position, color-stop1, color-stop2, ...);
    
  

Onde:

  • shape: forma do gradiente (circle ou ellipse)
  • size: tamanho do gradiente (closest-side, farthest-side, closest-corner, farthest-corner)
  • position: posição do centro do gradiente (pode ser especificado em pixels, porcentagens ou palavras-chave como center, top, left, etc.)
  • color-stop: define a cor e sua posição no gradiente

Exemplo 1: Gradiente radial simples

Neste exemplo é criado um gradiente radial que vai do centro de um círculo, mudando de vermelho para azul:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: radial-gradient(circle, red, blue);
      }
    
  

Exemplo 2: Gradiente radial com posição diferente

Neste exemplo, o centro do gradiente radial é deslocado para o canto superior esquerdo, criando uma transição de amarelo para verde:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: radial-gradient(circle at top left, yellow, green);
      }
    
  

Exemplo 3: Gradiente radial com várias cores

Neste exemplo, o gradiente vai do centro de um círculo, passando suavemente por quatro cores: vermelho, amarelo, verde e azul:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: radial-gradient(circle, red, yellow, green, blue);
      }
    
  

Exemplo 4: Gradiente radial com pontos de controle

Neste exemplo, são especificados pontos de controle que determinam a posição exata de cada cor no gradiente:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: radial-gradient(circle at center, red 0%, yellow 25%, green 50%, blue 100%);
      }
    
  

8.3 Exemplos com gradientes complexos

Exemplo 1: Gradiente linear com semitransparência

Neste exemplo, é utilizada a semitransparência para criar um gradiente de vermelho semitransparente para azul semitransparente:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: linear-gradient(to right, rgba(255, 0, 0, 0.5), rgba(0, 0, 255, 0.5));
      }
    
  

Exemplo 2: Gradiente radial com tamanhos

Neste exemplo, é criado um gradiente radial elíptico que preenche o lado mais próximo do elemento:

HTML
    
      <div class="background"></div>
    
  
CSS
    
      .background {
        min-height: 200px;
        background: radial-gradient(ellipse closest-side, red, blue);
      }
    
  

Exemplo 3: Criando gradientes para botões

Gradientes podem tornar os botões mais atraentes. Este gradiente vai de cima para baixo, mudando de verde claro para verde escuro, dando à botão volume e profundidade:

HTML
    
      <button type="button" class="button">Button</button>
    
  
CSS
    
      .button {
        background: linear-gradient(to bottom, #4caf50, #2e7d32);
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 5px;
      }
    
  

Vantagens do uso de gradientes:

1. Atração visual. Gradientes permitem criar transições suaves entre cores, adicionando profundidade visual e apelo aos elementos de design.

2. Flexibilidade. Gradientes podem ser ajustados para criar vários efeitos, desde transições simples até fundos complexos de várias cores.

3. Suporte a design responsivo. Gradientes se adaptam facilmente a diferentes tamanhos e resoluções de tela, o que os torna úteis para criar designs web responsivos.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION