Gostaria de cercar um número em um círculo como nesta imagem:
Isso é possível e como é alcançado?
html
css
css-shapes
Pentium10
fonte
fonte
O problema com a maioria das outras respostas aqui é que você precisa ajustar o tamanho do contêiner externo para que ele seja o tamanho perfeito com base no tamanho da fonte e no número de caracteres a serem exibidos. Se você estiver misturando números de 1 e 4 dígitos, não funcionará. Se a proporção entre o tamanho da fonte e o tamanho do círculo não for perfeita, você terminará com um oval ou um pequeno número alinhado verticalmente na parte superior de um círculo grande. Isso deve funcionar bem para qualquer quantidade de texto e qualquer círculo de tamanho. Basta definir o
width
eline-height
para o mesmo valor:Se você precisar aumentar ou diminuir o conteúdo, basta ajustar a largura do contêiner para um melhor ajuste.
Veja no JSFiddle .
fonte
text-align
eline-height
ao div. Ainda é a melhor resposta, provavelmente.Se for 20 ou menos, você pode apenas usar os caracteres unicode ① ② ... ⑳
http://www.alanwood.net/unicode/enclosed_alphanumerics.html
fonte
Para tamanhos de círculo que variam com base no conteúdo, isso deve funcionar:
http://jsfiddle.net/nzsnw55s/
Ele se baseia na largura do conteúdo mais os
margin-
's para determinar o raio e depois estende a altura para corresponder usando ospadding-
' s. omargin-
itens precisariam ser ajustados com base no tamanho da fonte.Atualize para remover o elemento interno:
Usa pseudo-elementos para forçar a altura. Precisa do espaço com largura zero para alinhamento vertical. Movido
line-height:0px
do externo para o pseudo para que seja pelo menos visível ao degradar para o IE8.fonte
a maneira mais fácil é usar a classe bootstrap e badge
fonte
Esta versão não depende de valores codificados, fixo, mas tamanhos em relação ao
font-size
dodiv
.http://jsfiddle.net/qod1vstv/
CSS:
HTML:
fonte
Você pode usar o raio da borda para isso:
Brinque com o raio da borda e os valores de preenchimento até ficar satisfeito com o resultado.
Mas isso não funcionará em todos os navegadores. Eu acho que o IE ainda não suporta cantos arredondados.
fonte
Minha solução aqui - isso permite facilmente tamanhos e cores diferentes e vincula um CMS para controle editorial. Para o IE degradando em quadrados.
HTML :
CSS :
Não é muito difícil ver como fazer isso. A questão maior é se é possível fazer com que as dimensões do círculo sejam dimensionadas para o conteúdo.
Atualmente, acho que não é possível. Qualquer um?
fonte
Tarde para a festa, mas aqui está uma solução apenas de inicialização que funcionou para mim. Estou usando o Bootstrap 4:
Você basicamente adiciona
bg-dark text-white rounded-circle px-3 py-1 mx-2 h3
classes ao seu<span>
(ou qualquer outro) elemento e pronto.Observe que pode ser necessário ajustar as classes de margem e preenchimento se o seu conteúdo tiver mais de um dígito.
fonte
Você trabalha como um bloco padrão, que é um quadrado
Este é um recurso do CSS 3 e não é muito bem distribuído; você pode contar com o Firefox e o Safari, com certeza.
fonte
EXEMPLO HTML
CÓDIGO
fonte
Tarde para a festa, mas aqui está a solução que eu fui com https://codepen.io/jnbruno/pen/vNpPpW
Css:
html:
Não é necessário trabalho extra. Obrigado John Noel Bruno
fonte
Faça algo assim em seu CSS
Use a tag de parágrafo para escrever o texto. espero que ajude
fonte
Algo como o que eu fiz aqui pode funcionar (para os números de 0 a 99):
CSS:
HTML:
fonte
Para melhorar a primeira resposta, basta se livrar do preenchimento e adicionar
line-height
evertical-align
:fonte
Aqui está a minha maneira de fazê-lo, usando o método quadrado. A vantagem é que ele funciona com valores diferentes, mas você precisa de 2 extensões.
fonte
A resposta de trinta pontos é correta, mas está faltando um pequeno argumento. Você precisa adicionar a posição: relativa , se quiser ter um valor centralizado no círculo e incluir também um intervalo diferente de números. Por exemplo 123;
HTML:
CSS:
mas uma solução mais fácil é usar o Bootstrap
<span class="badge" style ="float:right">123</span>
fonte