Função linear-gradient
A função linear-gradient define um gradiente
linear. É aplicada a propriedades que
definem uma imagem de fundo: background,
background-image
ou uma imagem de borda: border-image,
background-image-source.
Sintaxe
seletor {
background: linear-gradient([ângulo ou direção], cor1 tamanho1, cor2 tamanho2...);
}
Valores
| Valor | Descrição |
|---|---|
| direção |
Define uma direção específica para o gradiente em quaisquer unidades para ângulos
ou por palavras-chave top, left, right, bottom
ou suas combinações: top left, top right e assim por diante.
A ordem das palavras não importa: pode-se escrever top left e left top,
não há diferença. O parâmetro é opcional: se não for especificado, o gradiente será
de cima para baixo (como em to top). Antes da direção coloca-se a palavra to.
|
| ângulo | Ângulo em quaisquer unidades para ângulos. Pode ser positivo ou negativo. O parâmetro é opcional. Simultaneamente pode ser especificado ou um ângulo, ou uma direção (ou nada). |
| cor1 | Cor inicial do gradiente em quaisquer unidades para cor. |
| cor2 | Cor final do gradiente em quaisquer unidades para cor. |
| tamanho | Define a extensão de uma cor específica do gradiente em quaisquer unidades para tamanho. |
Exemplo . A opção mais simples
Sintaxe:
seletor {
background: linear-gradient(cor inicial, cor final);
}
Vejamos um exemplo:
<div id="elem"></div>
#elem {
background: linear-gradient(black, red);
width: 200px;
height: 200px;
}
:
Exemplo . Adicionando um ângulo
Sintaxe:
seletor {
background: linear-gradient(ângulo, cor inicial, cor final);
}
Vejamos um exemplo:
<div id="elem"></div>
#elem {
background: linear-gradient(45deg, black, red);
width: 200px;
height: 200px;
}
:
Exemplo . Adicionando uma direção
Em vez de um ângulo, pode-se adicionar uma direção
top, left, right, bottom
ou suas combinações: top left, top right
Antes da direção coloca-se a palavra to.
Sintaxe:
seletor {
background: linear-gradient(direção, cor inicial, cor final);
}
Vejamos um exemplo:
<div id="elem"></div>
#elem {
background: linear-gradient(to left, black, red);
width: 200px;
height: 200px;
}
:
Exemplo . Adicionando uma direção
Vamos especificar outra direção:
<div id="elem"></div>
#elem {
background: linear-gradient(to top left, black, red);
width: 200px;
height: 200px;
}
:
Exemplo . Adicionando tamanho
Sintaxe:
seletor {
background: linear-gradient(cor1 tamanho1, cor2 tamanho2);
}
No próximo exemplo, o comportamento será o seguinte:
cor vermelha pura será de 0px até
30px, de 30px até 50px
haverá um gradiente de vermelho para azul, e
de 50px até o final - azul puro:
<div id="elem"></div>
#elem {
background: linear-gradient(red 30px, blue 50px);
width: 200px;
height: 200px;
}
:
Exemplo . Adicionando mais de 2 cores
Sintaxe:
seletor {
background: linear-gradient(cor1 tamanho1, cor2 tamanho2, cor3 tamanho3...);
}
No próximo exemplo, o comportamento será o seguinte:
cor vermelha pura será de 0px até
30px, de 30px até 50px
haverá um gradiente de vermelho para azul, e
de 50px até 70px - um gradiente de azul
para verde, e após 70px - verde puro:
<div id="elem"></div>
#elem {
background: linear-gradient(red 30px, blue 50px, green 70px);
width: 200px;
height: 200px;
}
:
Exemplo . Transições abruptas
No próximo exemplo, o comportamento será o seguinte:
cor vermelha pura será de 0px até
30px, azul puro - de 30px
até 60px, verde puro - após 60px
(red 0px pode ser omitido):
<div id="elem"></div>
#elem {
background: linear-gradient(red 0px, red 30px, blue 30px, blue 60px, green 60px);
width: 200px;
height: 200px;
}
:
Exemplo . Os tamanhos também podem ser especificados em porcentagens
No próximo exemplo, o comportamento será o seguinte:
cor vermelha pura será de 0% até
30%, azul puro - de 30%
até 60%, verde puro - após 60%
(red 0% pode ser omitido):
<div id="elem"></div>
#elem {
background: linear-gradient(red 0%, red 30%, blue 30%, blue 60%, green 60%);
width: 200px;
height: 200px;
}
:
Exemplo . Combinação com background-size
No próximo exemplo, o comportamento será o seguinte:
cor vermelha pura será de 0px até
30px, azul puro - de 30px
até 60px, sendo que tudo isso se repetirá
em pedaços de 60px (devido a background-size:
60px;):
<div id="elem"></div>
#elem {
background: linear-gradient(to right, red 30px, blue 30px, blue 60px);
background-size: 60px 60px;
width: 200px;
height: 200px;
}
:
Veja também
-
a função
radial-gradient,
que cria um gradiente radial -
a função
repeating-linear-gradient,
que cria um gradiente linear repetitivo -
a função
repeating-radial-gradient,
que cria um gradiente radial repetitivo