Pular para o conteúdo
Ramos da Informática - Comunidade de Desenvolvedores

Torne-se um desenvolvedor FullStack: Pacote completo de formação desenvolvedor Frontend e Backend utilizando as linguagens de programação e frameworks mais procurados no mercado de trabalho. Mais informações, aqui. Faça o download do E-BookGuia Completo Para Se Tornar um(a) Desenvolvedor(a) Full-Stack, Começando do ZERO”.

Engenheiro de Software, autor de livros sobe tecnologia e negócios. É mantenedor do site Ramos da Informática. Hobbies: investir em ações, natação e finanças.

Engenheiro de Software, autor de livros sobe tecnologia e negócios. É mantenedor do site Ramos da Informática. Hobbies: investir em ações, natação e finanças.

admin

Todos os artigos deste autor

Box shadow CSS: usando efeito de sombras

Chatbots com Whatsapp e Cielo integrados Nesse curso, eu vou te mostrar como o consumidor poder realizar um pagamento por dentro do aplicativo do WhatsApp, aonde o seu cliente vai entrar numa conversa como entraria numa conversa com qualquer pessoa ou com a sua empresa, navegar entre os produtos/serviços em menus simples enviados pelo chatbot, adicionar esses produtos/serviços no carrinho de compras, e num determinado ponto do chat, um link exclusivo é enviado para o cliente preencher os dados do cartão de crédito. No final, a análise é devolvida para o Whatsapp no qual a conversa foi iniciada. Inscreva-se.

No CSS, o box shadow CSS é uma propriedade utilizada para adicionar sombras internas (inner shadow) ou ao redor (drop shadow) de um elemento HTML. Trata-se de um recurso que permite construir efeitos interessantes, como o deslocamento ou o desfoque da sombra, a definição da cor e muito mais. Por isso, ele é capaz de tornar a aplicação web mais elegante!

Apesar de existirem diversas ferramentas online que geram códigos CSS automaticamente, é importante que as pessoas que desenvolvem aplicações front-end entendam como essa propriedade funciona. Por isso, preparamos este conteúdo que contém os seguintes tópicos:

O que é a propriedade box shadow CSS?Qual é a sintaxe dessa propriedade?Quais são os valores da propriedade box shadow CSS?Como funciona a interpolação com box shadow?Qual a compatibilidade com os navegadores?

Continue com a gente e boa leitura!

 

O que é a propriedade box shadow CSS?

 

A propriedade box-shadow é utilizada para inserir uma camada de sombra ao redor do elemento HTML. O efeito pode ser configurado para ser aplicado nos quatro lados do elemento ou apenas na posição desejada. A propriedade contém alguns atributos auxiliares que ajudam a definir como o sombreamento será aplicado.

 

Qual é a sintaxe dessa propriedade?

 

A sintaxe da propriedade box-shadow é:

box-shadow: [inset][h-offset][v-offset][blur][spread][color];

Por exemplo:

box-shadow: inset 0 0 10px 10px blue;

No qual:

inset: não é obrigatório e deve ser utilizado para indicar que a projeção da sombra será direcionada para dentro do elemento. Caso seja omitido, o valor padrão será considerado como outset, em que a sombra é projetada para a parte externa do elemento;h-offset: indica a distância em relação ao elemento e ao eixo horizontal em que a sombra será projetada;v-offset: funciona como o atributo anterior, porém, em relação ao eixo vertical;blur: indica o quanto a sombra terá o efeito borrado e é visualizado em todos os lados do elemento;spread: representa a extensão do tamanho da sombra;color: determina a cor da sombra.

É importante dizer que é possível aplicar mais que um efeito em um mesmo elemento. Para isso, basta separar por vírgula os valores dos atributos. Por exemplo:

box-shadow: 5px 5px 10px green,
-5px 0 darkgreen;

 

Quais são os valores da propriedade box shadow CSS?

 

A propriedade CSS box-shadow contém uma série de valores que são essenciais para a criação do efeito de sombra. Confira como eles funcionam!

A sombra não é exibida: none

Por padrão, os elementos HTML têm a propriedade box-shadow com o valor none, ou seja, não há a exibição de sombras.

box-shadow: none;

Configurando o deslocamento horizontal da sombra: h-offset

O deslocamento horizontal corresponde ao ponto de origem para a projeção da sombra. Quando o valor é positivo, indica que o deslocamento será à direita e se for negativo, significa que a sombra será deslocada para o lado esquerdo.

É importante dizer que esse atributo deve ser utilizado em conjunto com o atributo v-offset, mesmo que o valor atribuído a ele seja 0, pois ele representa o deslocamento vertical.

box-shadow: 10px 0 gray; /* deslocamento de 10px à direita. /
box-shadow: -10px 0 gray; /
deslocamento de 10px à esquerda. */

Configurando o deslocamento vertical da sombra: v-offset

O deslocamento vertical é definido pelo atributo v-offset. Como mencionamos, ele deve ser utilizado em conjunto com o atributo h-offset para indicar o deslocamento horizontal.

Quando o valor de v-offset for positivo, indica que o deslocamento será para baixo, ou seja, a sombra será projetada em direção à parte inferior do elemento. Já se o valor for negativo, a projeção da sombra será na parte superior do elemento.

box-shadow: 0 10px gray; /* deslocamento inferior de 10px /
box-shadow: 0 -10px gray; /
deslocamento superior de 10px */

Configurando o desfoque na sombra: blur

O atributo blur é utilizado para aplicar o efeito borrado na sombra. Para que ele funcione, é preciso definir os valores das propriedades v-offset e h-offset, mesmo que elas sejam definidas como zero. Nesse cenário, o efeito blur será apresentado em todos os lados do elemento e de acordo com o tamanho indicado.

Vale ressaltar que não é possível definir valores negativos para esse atributo. Além disso, quanto maior for o seu valor, maior será o efeito borrado aplicado na sombra.

box-shadow: 0 0 10px gray; /* blur de 10px ao redor do elemento. /
box-shadow: 15px 15px 10px gray; /
blur de 10px e deslocamento à direita de 15px. */

Configurando o tamanho da sombra: spread

O atributo spread é utilizado para definir o valor excedente para a sombra. O valor padrão é zero, o que significa que o tamanho da sombra corresponde ao tamanho do elemento. Portanto, se tivermos um elemento de 300px de largura e comprimento e definirmos spread igual a 20px, a sombra projetada terá o valor correspondente a 320px.

box-shadow: 15px 15px 10px 20px gray;

Definindo a cor da sombra: color

O atributo color é utilizado para definir a cor da sombra. Se não for definido um valor, o navegador utilizará a cor indicada na propriedade color do elemento principal da aplicação ou, se também não houver uma definição, aplicará a cor padrão usada pelo navegador, que geralmente é preto ou transparente, no caso do Safari.

O ideal é definir a cor da sombra na propriedade box-shadow para evitar falhas em função do navegador utilizado pela pessoa usuária.

box-shadow: 15px 15px 10px gray;  /* a cor da sombra é cinza. */

Transformando uma sombra externa em uma sombra interna: inset

Como mencionamos, se nada for especificado na propriedade box-shadow, a sombra será projetada no lado externo do elemento. Entretanto, é possível inverter a projeção para o lado interno. Para isso, devemos utilizar o atributo inset antes de definirmos os valores para o formato da sombra.

box-shadow: inset 0 0 20px gray; /* sombra interna cinza, com blur de 20px. */

Redefinindo a propriedade para o valor padrão: initial

A propriedade box-shadow pode ser redefinida para o valor padrão definido pelo navegador. Para isso, basta atribuir o valor initial à propriedade.

box-shadow: initial;

Herdando a propriedade de seu elemento pai: inherit

Um elemento pode herdar as características da propriedade box-shadow do elemento pai. Para isso, devemos definir seu valor como inherit.

box-shadow: inherit;

 

Como funciona a interpolação com box shadow?

 

Ao fazer um processo de animação de sombras em um elemento, como o de um efeito hover ou pulse, entre outros, há a transição entre o estado inicial da propriedade e o estado final. Durante esse processo, o navegador realiza uma série de cálculos e aplica várias vezes a propriedade modificada sobre o elemento até que ele atinja o resultado desejado, dentro do tempo definido para a animação.

Por exemplo, imagine que definimos o blur de um elemento como 20px e queremos que, ao posicionar o mouse sobre ele, o efeito desapareça para que a cor fique sólida e que essa ação seja feita em um tempo de 0.6 segundos.

Para que o efeito seja suave e gradativo, o navegador cria uma lista com os valores intermediários para incrementar o valor de blur até que ele atinja a característica desejada. Tudo isso é feito pelo navegador e de forma transparente para a pessoa usuária. Veja um código de exemplo:

<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>CSS Box-shadow</title>
<style>
.box{
width:150px;
height: 150px;
margin: 50px auto;
border: 1px solid green;
}
.shadow-interpolacao{
box-shadow: 15px 15px 20px red;
}
.shadow-interpolacao:hover{
box-shadow: 15px 15px 0 green, -15px -15px green;
-webkit-transition : box-shadow ease-out 0.6s;
transition : box-shadow ease-out 0.6s;
}
.shadow-interpolacao2{
box-shadow: 15px 15px 20px red, -15px -15px 20px green;
}
.shadow-interpolacao2:hover{
box-shadow:  15px -15px 0 green,  -15px 15px 20px green;
-webkit-transition : box-shadow ease-out 0.6s;
transition : box-shadow ease-out 0.6s;
}
</style>
</head>
<body>
<div class=”box shadow-interpolacao”>
Box shadow
</div>
<div class=”box shadow-interpolacao2″>
Box shadow
</div>
</body>
</html>

 

Qual a compatibilidade com os navegadores?

 

Ao desenvolver aplicações web, é importante observar se os recursos utilizados são suportados pelos navegadores. Realizar essa tarefa pode evitar falhas durante a utilização pela pessoa usuária. Por isso, veja a partir de qual versão a propriedade box-shadow é disponibilizada nos principais navegadores:

Internet Explorer: 9;Edge: 12;Firefox: 3.5;Chrome: 4;Safari: 5;Opera: 11.5;iOS Safari: 4;Android Browser: 4;Opera Mobile: 12;Chrome for Android: 88;Firefox for Android: 85;Samsung Internet: 4.

A propriedade box-shadow CSS é um recurso utilizado para criar efeitos interessantes nos elementos HTML. Ela contém uma série de atributos que ajudam a definir com mais precisão o tamanho, a cor e o formato da sombra projetada. Além disso, é possível criar animações com esses efeitos e tornar a página ainda mais interativa e atraente à pessoa usuária.

Gostou do nosso conteúdo sobre a propriedade box-shadow? Então confira nosso post sobre o que é desenvolvimento web e o que é preciso para ingressar nessa carreira!

O post Box shadow CSS: usando efeito de sombras em volta de um elemento! apareceu primeiro em Insights para te ajudar na carreira em tecnologia | Blog da Trybe.

Este artigo foi importado automaticamente por fazer parte do Planetário Dev. Quer fazer parte deste HUB de conteúdos? Faça parte do Planetário e veja as vantagens.

Não tem site ou blog? Seja um autor do site e ainda pode ser remunerado.

Leia também:

Facebook
LinkedIn
Twitter
Pinterest
Reddit
Telegram
WhatsApp
Email
Print

Relacionados

Deixe uma resposta