Recentemente vimos como criar triângulos com css. Neste artigo, veremos como criar bolas, círculos e elipses com CSS.
A propriedade border-radius
Criar bolas, círculos e elipses com CSS 3 é muito mais simples do que criar triângulos. O efeito é conseguido usando-se a propriedade "border-radius" com valor 50% em todos os cantos de um elemento. Depois, basta colocar uma borda ou uma cor de fundo, conforme desejado. Se quer um círculo, aplique apenas uma borda. Se quer uma bola preenchida, aplique a cor de fundo (e a borda também, se quiser). Para ter um círculo ou bola perfeitos, especifique uma altura e largura idênticos, caso contrário, terá uma elipse.
Veja um exemplo:
.bola { border-radius: 50%; display: inline-block; height: 100px; width: 100px; border: 1px solid #000000; background-color: #FFFF00; }
Resultado:
O mais importante é que o elemento tenha display "inline-block" ou "block", tenha a mesma largura e altura, e que especifique o border-radius com valor 50%. Se você quer colocar algum texto centralizado, também pode ser útil especificar text-align: center e line-height com a mesma altura da bola.
Um efeito bacana que pode ser colocado na bola é uma sombra externa ou interna. Para mais detalhes sobre como colocar sombras, leia o artigo layout com sombras. Veja um exemplo, que adiciona as seguintes propriedades:
box-shadow: inset -10px -10px 10px #660, inset 3px 3px 5px #FFF;
Resultado:
Por fim, sabendo usar os backgrounds com gradientes, ainda podemos colocar um efeito visual de reflexo de luz acima da bola, através de uma elipse que usa gradiente como cor de fundo (do branco para transparente):
É impressionante o quanto podemos explorar o CSS 3 para obter efeitos que só se conseguia através de imagens no passado. E o mais legal é que, utilizando CSS transitions, também conseguimos mudar a cor destas bolas ao passar o mouse, por exemplo. Tudo de forma suave e nativa do navegador.
21 comentários
bacana
Como faço pra colocar as bolas criadas em css no centro da pagina???
É só colocar colocar estas regras de CSS (note que display precisa ser trocado de "inline-block" por "block"):
display: block;
margin-left: auto;
margin-right: auto;
E para fazer só o contorno do círculo?
Para fazer só o contorno, basta pegar o primeiro exemplo e elimina a linha de background-color.
Bela merda
adorei!
que merda
E para eu dar espaçamento entre os circulos, como faço?
Unknown, espaçamento é feito com a propriedade "margin" do CSS.
Olá... e se eu quiser colocar uma letra dentro do círculo? Tipo usar uma variável para pegar as iniciais do nome do usuário e colocar dentro do círculo.
Oi, Alex
Para colocar um texto no circulo, basta colocar o texto dentro da DIV e adicionar essas regras de estilos:
line-height: 100px;
text-align: center;
vertical-align: top;
(observação: o line-height deve ter o mesmo valor do height para que o texto fique alinhado no centro do circulo verticalmente)
Caba, se vc disponibilizar o código html e o css do exemplo, ajudaria pacas..
oi, como posso colocar um número de um for dentro das bolinhas pares? só falta colocar os valores pares dentro da bolinha, mas não aparece, me ajuda!
Como faço para colocar um texto conforme passo o mouse em cima da bolinha e aparece a informação expecificando o que significa determinada função por exemplo. Meu codigo esta dando erro.
Muito bom.. me foi útil
Realmente muito bom.
Parabéns e muito obrigado.
2020 e isso me ajudou numa entrega do meu trabalho.
2020 e isso me ajudou numa entrega do meu trabalho, obrigada.
Bacana o resultado. Não sou muito bom com css, então sempre que preciso fazer alguma coisa mais bonitinha e diferente, eu tenho que recorrer a pessoas como você, que ajudam muito. Obrigado.
Como faço para adicionar uma imagem ?
Postar um comentário
Nota: fique a vontade para expressar o que achou deste artigo ou do blog.
Dica: para acompanhar as respostas, acesse com uma conta do Google e marque a opção "Notifique-me".
Atenção: o blogger não permite inclusão de tags nos comentários, por isso, use algum site externo para postar seu código com dúvidas e deixe o link aqui. Exemplo: pastebin.com