98 of 313 menu

Função radial-gradient

A função radial-gradient define um gradiente radial. Esta função é 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: radial-gradient([forma tipo posição], cor1 tamanho1, cor2 tamanho2...); }

Valores

Valor Descrição
forma Valores aceitos: ellipse gradiente elíptico (padrão), circle gradiente circular.
tipo Define a extensão do gradiente. Valores aceitos: closest-side, closest-corner, farthest-side, farthest-corner.
posição Após a palavra-chave at é especificada uma posição em quaisquer unidades de tamanho ou usando as palavras-chave top, bottom, left, right, center em várias combinações.
cor1 Cor inicial do gradiente em quaisquer unidades de cor.
cor2 Cor final do gradiente em quaisquer unidades de cor.
tamanho Define a extensão de uma cor específica do gradiente em quaisquer unidades de tamanho.

Valores para tipo

Valor Descrição
closest-side A forma do gradiente coincide com o lado mais próximo do bloco.
closest-corner A forma do gradiente é calculada com base na informação da distância até o canto mais próximo do bloco.
farthest-side O gradiente se estende até o lado mais distante do bloco.
farthest-corner A forma do gradiente é calculada com base na informação da distância até o canto mais distante do bloco.

Observação

O tipo e a forma podem ser trocados, mas a posição deve vir no final do primeiro parâmetro. O tipo de gradiente e seu tamanho não funcionam um com o outro (logicamente, pois eles entram em conflito). O tamanho prevalece.

Exemplo . A variante mais simples

Vamos simplesmente definir a cor inicial e a cor final:

<div id="elem"></div> #elem { background: radial-gradient(red, blue); width: 200px; height: 200px; }

:

Exemplo . Adicionando posição

Vamos definir a posição do centro: 30px - recuo à esquerda, 100px - recuo superior:

<div id="elem"></div> #elem { background: radial-gradient(at 30px 100px, red, blue); width: 200px; height: 200px; }

:

Exemplo . Posição em porcentagem

Vamos definir a posição do centro em porcentagem: 30% - recuo à esquerda, 50% - recuo superior:

<div id="elem"></div> #elem { background: radial-gradient(at 30% 50%, red, blue); width: 200px; height: 200px; }

:

Exemplo . Posição por palavra-chave

Podem ser usadas as palavras-chave top, bottom, left, right, center em várias combinações. Vamos colocar, por exemplo, o gradiente à direita e centralizado:

<div id="elem"></div> #elem { background: radial-gradient(at right center, red, blue); width: 200px; height: 200px; }

:

Exemplo . Tamanho do gradiente

Neste caso, o gradiente funcionará assim: de 0px a 20px será cor vermelha pura, de 20px a 60px - gradiente de vermelho para azul, após 60px - cor azul pura:

<div id="elem"></div> #elem { background: radial-gradient(red 20px, blue 60px); width: 200px; height: 200px; }

:

Exemplo . Várias cores em sequência

Neste caso, o gradiente funcionará assim: de 0px a 20px será cor vermelha pura, de 20px a 40px será cor azul pura, de 40px a 60px - gradiente de azul para verde, após 60px - cor verde pura:

<div id="elem"></div> #elem { background: radial-gradient(red 20px, blue 20px, blue 40px, green 60px); width: 200px; height: 200px; }

:

Exemplo . Tamanho + posição

Vamos definir simultaneamente os tamanhos para cores diferentes e a posição do centro do gradiente:

<div id="elem"></div> #elem { background: radial-gradient(at 30px 60px, red 20px, blue 60px); width: 200px; height: 200px; }

:

Exemplo . Forma do gradiente

A forma do gradiente é definida pelo primeiro parâmetro e pode aceitar 2 valores: circle (gradiente circular) ou ellipse (gradiente elíptico, padrão). Por que então até agora não vimos gradientes elípticos, embora seja o padrão? Porque até agora a forma dos blocos era quadrada. Se mudarmos a forma para retangular, veremos o gradiente elíptico:

<div id="elem"></div> #elem { background: radial-gradient(red 20px, blue 60px); width: 300px; height: 200px; }

:

Exemplo . Gradiente circular

Vamos fazer um gradiente circular em um bloco retangular. Para isso, definiremos a forma do gradiente como primeiro parâmetro usando a palavra-chave circle:

<div id="elem"></div> #elem { background: radial-gradient(circle, red 20px, blue 60px); width: 300px; height: 200px; }

:

Exemplo . Adicionando posição

Vamos adicionar também a posição do gradiente ao código anterior:

<div id="elem"></div> #elem { background: radial-gradient(circle at 30px 60px, red 20px, blue 60px); width: 300px; height: 200px; }

:

Exemplo . Tipo farthest-corner + circle

A forma do gradiente é calculada com base na informação da distância até o canto mais distante do bloco:

<div id="elem"></div> #elem { background: radial-gradient(circle farthest-corner at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Exemplo . Tipo farthest-corner + ellipse

A forma do gradiente é calculada com base na informação da distância até o canto mais distante do bloco:

<div id="elem"></div> #elem { background: radial-gradient(ellipse farthest-corner at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Exemplo . Tipo farthest-side + circle

O gradiente se estende até o lado mais distante do bloco:

<div id="elem"></div> #elem { background: radial-gradient(circle farthest-side at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Exemplo . Tipo farthest-side + ellipse

O gradiente se estende até o lado mais distante do bloco:

<div id="elem"></div> #elem { background: radial-gradient(ellipse farthest-side at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Exemplo . Tipo closest-corner + circle

A forma do gradiente é calculada com base na informação da distância até o canto mais próximo do bloco:

<div id="elem"></div> #elem { background: radial-gradient(circle closest-corner at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Exemplo . Tipo closest-corner + ellipse

A forma do gradiente é calculada com base na informação da distância até o canto mais próximo do bloco:

<div id="elem"></div> #elem { background: radial-gradient(ellipse closest-corner at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Exemplo . Tipo closest-side + circle

A forma do gradiente coincide com o lado mais próximo do bloco:

<div id="elem"></div> #elem { background: radial-gradient(circle closest-side at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Exemplo . Tipo closest-side + ellipse

A forma do gradiente coincide com o lado mais próximo do bloco:

<div id="elem"></div> #elem { background: radial-gradient(ellipse closest-side at 60px 80px, red, blue); width: 300px; height: 200px; }

:

Veja também

bydeenesfrptru