Gostaria de saber se existe uma maneira mais fácil de criar divs circulares do que o que estou fazendo agora.
Atualmente, estou apenas criando uma imagem para cada tamanho diferente, mas é irritante fazer isso.
Existe alguma maneira usando CSS para fazer divs que são circulares e posso especificar o raio?
html
css
geometry
css-shapes
bmaster
fonte
fonte
Respostas:
Aqui está uma demonstração: http://jsfiddle.net/thirtydot/JJytE/1170/
CSS:
HTML:
Para fazer isso funcionar no IE8 e versões anteriores , você deve baixar e usar o CSS3 PIE . Minha demonstração acima não funcionará no IE8, mas é apenas porque o jsFiddle não hospeda
PIE.htc
.Minha demo fica assim:
fonte
div
página é redonda, e você pode ver se adicionar, por exemplo,border: 5px solid red
a ela. O problema é que as partes da imagem que "ultrapassam o círculo" não estão sendo ocultadas. Nenhuma das soluções alternativas usuais é particularmente fácil de aplicar aqui. Sugiro usar a-webkit-mask-image
propriedade para corrigir navegadores WebKit (e manterborder-radius
, para outros navegadores). Mais informações aqui: webkit.org/blog/181/css-masks . Você também pode fazer uma pergunta aqui no Stack Overflow, para ver se mais alguém tem outras idéias.Definir o raio da borda de cada lado de um elemento para 50% criará a exibição do círculo em qualquer tamanho:
fonte
Tente isto
fonte
É realmente possível.
Consulte: Dica CSS: Como criar círculos sem imagens . Veja a demonstração .
Mas esteja avisado, ele tem sérias desvantagens em termos de compatibilidade, basicamente, você está fazendo um latido de gato.
Veja trabalhando aqui
Como você vai ver você só tem que configurar o
height
ewidth
a metade doborder-radius
Boa sorte!
fonte
jsfiddle
link! Este link é o único que trabalha com sua resposta no momento. ;)Há também [a má idéia] de usar vários (20+) divs horizontais ou verticais de 1px para construir um círculo. Este plugin jQuery usa esse método para construir formas diferentes.
fonte
Dê largura e altura, dependendo do tamanho, mas mantenha os dois iguais
fonte
border-radius: 50%;
basta.Só queria mencionar outra solução que responde à pergunta "Maneira mais fácil de criar div de círculo do que usar uma imagem?" que é usar FontAwesome.
Você importa o arquivo css fontawesome ou a partir da CDN aqui
e então você apenas:
e você pode dar a cor que desejar para qualquer tamanho de fonte.
fonte
Você pode tentar a
radial-gradient
função CSS:Aplique-o a uma
div
camada:fonte
Digamos que você tenha esta imagem:
para fazer um círculo com isso, você só precisa adicionar
Então, se você tem um div, pode fazer a mesma coisa.
Veja o exemplo abaixo:
fonte
Você pode usar o raio, mas não vai funcionar no IE:
border-radius: 5px 5px;
.fonte
fonte
basicamente, isso usa a posição absoluta de div para colocar um caractere nas coordenadas fornecidas. portanto, usando a equação paramétrica para um círculo, você pode desenhar um círculo. se você mudar a posição de div para relativa, isso resultará em uma onda senoidal ...
em essência, estamos fazendo o gráfico de equações abusando da propriedade position. eu não sou muito versado em CSS, então alguém certamente pode tornar isso mais elegante. desfrutar.
isso funciona em todos os navegadores e dispositivos móveis (que eu conheço). eu uso no meu próprio site para desenhar ondas senoidais de texto (www.cpixel.com). a fonte original desse código é encontrada aqui: www.mathopenref.com/coordcirclealgorithm.html
fonte
Adicionando a
css
propriedade de:border-radius: 50%;
para qualquer div torna circular.
fonte
Para o círculo, crie um elemento div e digite width = 2 vezes o raio da borda = 2 vezes o preenchimento. Também line-height = 0 Por exemplo, com 50px como raio do círculo, o código abaixo funciona bem:
fonte