Como você desenha um círculo usando HTML5 e CSS3?
Também é possível inserir texto dentro?
html
css
geometry
css-shapes
Sergey Metlov
fonte
fonte
Respostas:
Você não pode desenhar um círculo por si só. Mas você pode fazer algo idêntico a um círculo.
Você teria que criar um retângulo com cantos arredondados (via
border-radius
) que são metade da largura / altura do círculo que deseja fazer.fonte
border-radius: 50%;
funcionou bem, altere o tamanho conforme desejado. Para cores, você pode usarbackground-color
ouborder
.É bem possível em HTML 5 . Suas opções são: SVG e
<canvas>
tag incorporados .Para desenhar um círculo em SVG incorporado:
Círculo em
<canvas>
:fonte
Existem alguns círculos Unicode que você pode usar:
Mais formas aqui .
Você pode sobrepor texto nos círculos se desejar:
Exibir trecho de código
Você também pode usar uma fonte personalizada (como esta ) se quiser ter uma chance maior de ter a mesma aparência em sistemas diferentes, já que nem todos os computadores / navegadores têm as mesmas fontes instaladas.
fonte
border-radius:50%
se você quiser que o círculo se ajuste a quaisquer dimensões que o contêiner obtenha (por exemplo, se o texto tiver comprimento variável)Não se esqueça dos prefixos
-moz-
e-webkit-
!fonte
A partir de 2015, você pode fazer e centralizar o texto com pelo menos 15 linhas de CSS ( Fiddle ):
Sem qualquer programa
-webkit-
, funciona no IE11, Firefox, Chrome e Opera, e é válido para HTML5 (experimental) e CSS3.O mesmo no MS Edge (2020).
fonte
fonte
Você pode usar o atributo border-radius para dar a ele um border-radius equivalente ao border-radius do elemento. Por exemplo:
(A razão para usar as extensões -moz e -webkit é para suportar versões pré-CSS3-final do Gecko e Webkit.)
Existem mais exemplos nesta página . Quanto à inserção de texto, você pode fazê-lo, mas deve estar atento ao posicionamento, já que a maioria dos modelos de preenchimento de caixa dos navegadores ainda usa o quadrado externo.
fonte
Não há tecnicamente uma maneira de desenhar um círculo com HTML (não há uma
<circle>
tag HTML), mas um círculo pode ser desenhado.A melhor maneira de desenhar um é adicionar
border-radius: 50%
a uma tag comodiv
. Aqui está um exemplo:fonte
border-radius: 50%;
irá transformar todos os elementos em um círculo, independentemente do tamanho. Pelo menos, enquanto oheight
ewidth
do alvo forem iguais, caso contrário, ele se tornará oval .Nota : os prefixos do navegador não são mais necessários para border-radius
Como alternativa, você também pode usar
clip-path: circle();
para transformar um elemento em um círculo. Mesmo se o elemento tiver um maiorwidth
queheight
(ou o contrário), ele ainda se tornará um círculo e não uma forma oval.Nota : o caminho do clipe (ainda) não é compatível com todos os navegadores
Você pode colocar o texto dentro do círculo, simplesmente escrevendo o texto dentro das tags do destino,
assim:
Se você deseja centralizar o texto no círculo, pode fazer o seguinte:
fonte
Você pode usar a propriedade border-radius ou fazer um div com altura e largura fixas e um fundo com círculo PNG.
fonte
Basta fazer o seguinte nas tags de script:
E aí está, você tem seu círculo.
fonte
fonte
fonte
simples e novato :)
fonte
fonte
Se estiver usando ousadia para escrever seu CSS, você pode fazer:
Quais saídas:
Experimente aqui: https://www.sassmeister.com/
fonte