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:
<div class="background"></div>
.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:
<div class="background"></div>
.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:
<div class="background"></div>
.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:
<div class="background"></div>
.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
ouellipse
)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 comocenter
,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:
<div class="background"></div>
.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:
<div class="background"></div>
.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:
<div class="background"></div>
.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:
<div class="background"></div>
.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:
<div class="background"></div>
.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:
<div class="background"></div>
.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:
<button type="button" class="button">Button</button>
.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.
GO TO FULL VERSION