Criando uma meia lua usando apenas CSS

Uma lua crescente pode ser feita apenas manipulando seletores e propriedades do CSS.

Para isso é necessário utilizar a propriedade box-shadow que cria uma sombra no elemento e a propriedade border-radius que arredonda as bordas do elemento.

A propriedade box-shadow pode receber os seguintes valores offset-x e offset-y que determinam a distância no eixo do x e no eixo do y respectivamente para a sombra do elemento, ele pode ainda receber mais 2 valores que não são obrigatórios o blur-radius que serve para desfocar o elemento e o spread-radius que determina o tamanho da sombra, e por último a cor da sombra. Os valores devem ser inseridos nesta ordem.

Vamos primeiramente criar um objeto quadrado com fundo preto e sombra cinza.

<div class=”meiaLua”></div>
.meiaLua { position: absolute; margin: auto; top: 0; right: 0; bottom: 0; left: 0; width: 100px; height: 100px; background-color: black; border-radius: 0px; box-shadow: 25px 10px 10px 10px gray; }

Vamos “transformar” nosso objeto quadrado em um circulo, apenas modificando a propriedade border-radius para 50%.

border-radius: 50%;

Para que possamos ver apenas a sombra do nosso objeto devemos mudar a cor de fundo para transparente.

background-color: transparent;

Já é possível ver a meia lua, vamos agora apenas fazer alguns ajustes, trocando os valores do terceiro e o quarto atributo da propriedade box shadow para 0.

box-shadow: 25px 10px 0 0 gray;

Pronto, temos uma lua crescente apenas usando CSS.