ximg.es

Gerador de box-shadow

Desenhe a sombra de uma imagem, um cartão ou um botão com os controlos e copie o CSS. Suporta várias camadas e sombra interior, e a ligação da página guarda a sombra para a partilhar.

Código CSS

box-shadow:
  0 10px 25px -5px rgba(0, 0, 0, 0.25),
  0 8px 10px -6px rgba(0, 0, 0, 0.1);

A imagem de exemplo é um placeholder do ximg.es: /480x300/2563eb/ffffff.png?text=box-shadow

Exemplos
Camadas

Como funciona o box-shadow

A propriedade box-shadow desenha uma ou várias sombras à volta da caixa de um elemento. Cada sombra escreve-se por esta ordem:

box-shadow: [inset] deslocamento-x deslocamento-y [desfoque] [expansão] cor;

Várias sombras no mesmo elemento

As sombras separam-se com vírgulas e a primeira fica por cima das restantes. Combinar uma sombra curta e marcada com outra ampla e suave dá um resultado muito mais natural do que uma única sombra escura: é o que fazem os exemplos Elevada e Por camadas.

box-shadow:
  0 1px 2px rgba(0, 0, 0, 0.08),
  0 8px 24px rgba(0, 0, 0, 0.12);

Sombras em imagens: box-shadow ou drop-shadow

box-shadow segue a forma da caixa, incluindo o seu border-radius, por isso é o que precisa para fotos e cartões. Se a imagem for um PNG ou um SVG com fundo transparente e quiser que a sombra siga o contorno do desenho, use o filtro drop-shadow():

img.logo { filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3)); }

drop-shadow() não suporta expansão nem inset, e não aceita várias camadas separadas por vírgulas.

Dicas

Perguntas frequentes

O que é o box-shadow em CSS?

É a propriedade que adiciona sombras à caixa de um elemento. Aceita deslocamento, desfoque, expansão, cor e a palavra-chave inset, e podem aplicar-se várias sombras separadas por vírgulas. Funciona em todos os navegadores atuais sem prefixos.

Como ponho uma sombra só na parte de baixo?

Use um deslocamento vertical positivo e uma expansão negativa da ordem do desfoque, para que a sombra não apareça nos lados: box-shadow: 0 8px 6px -6px rgba(0, 0, 0, 0.3);

Como faço uma sombra interior?

Coloque inset no início: box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.2);. É útil para campos de formulário ou botões premidos.

Posso usar várias sombras ao mesmo tempo?

Sim, separando-as com vírgulas. A primeira da lista é pintada por cima. Neste gerador, cada sombra é uma camada.

Porque é que a sombra do meu PNG transparente sai quadrada?

Porque o box-shadow segue a caixa do elemento, não o desenho. Para seguir a silhueta, use filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3)).

O box-shadow afeta o desempenho?

Uma sombra estática quase não custa nada. O que pesa é animá-la ou usar desfoques muito grandes em muitos elementos, porque obriga a repintar. Para animações, altere a opacidade de um pseudoelemento com a sombra.

Mais ferramentas

Ver todas as ferramentas · Gerador de imagens placeholder