Me gustaría rodear un número en un círculo como en esta imagen:
¿Es esto posible y cómo se logra?
html
css
css-shapes
Pentium10
fuente
fuente
El problema con la mayoría de las otras respuestas aquí es que necesita ajustar el tamaño del contenedor externo para que sea el tamaño perfecto en función del tamaño de fuente y el número de caracteres que se mostrarán. Si está mezclando números de 1 dígito y números de 4 dígitos, no funcionará. Si la relación entre el tamaño de fuente y el tamaño del círculo no es perfecta, terminará con un óvalo o un pequeño número alineado verticalmente en la parte superior de un círculo grande. Esto debería funcionar bien para cualquier cantidad de texto y cualquier círculo de tamaño. Simplemente configure el
width
yline-height
al mismo valor:Si necesita hacer que el contenido sea más largo o más corto, todo lo que necesita hacer es ajustar el ancho del contenedor para un mejor ajuste.
Véalo en JSFiddle .
fuente
text-align
yline-height
al div. Sigue siendo la mejor respuesta probablemente.Si tiene 20 o menos, puede usar los caracteres unicode ① ② ... ⑳
http://www.alanwood.net/unicode/enclosed_alphanumerics.html
fuente
Para los tamaños de círculo que varían según el contenido, esto debería funcionar:
http://jsfiddle.net/nzsnw55s/
Se basa en el ancho del contenido más los
margin-
's para determinar el radio, luego extiende la altura para que coincida con lospadding-
' s. Losmargin-
's tendrían que ajustarse en función del tamaño de fuente.Actualización para eliminar el elemento interno:
Utiliza pseudoelementos para forzar la altura. Necesita el espacio de ancho cero para la alineación vertical. Se movió
line-height:0px
desde el exterior al pseudo para que sea al menos visible cuando se degrada para IE8.fuente
la forma más fácil es usar bootstrap y la clase de insignia
fuente
Esta versión no se basa en valores fijos codificados, sino en tamaños relativos a los
font-size
dediv
.http://jsfiddle.net/qod1vstv/
CSS:
HTML:
fuente
Puede usar el radio del borde para esto:
Juega con el radio del borde y los valores de relleno hasta que estés satisfecho con el resultado.
Pero esto no funcionará en todos los navegadores. Supongo que IE todavía no admite esquinas redondeadas.
fuente
Mi solución aquí: esto permite fácilmente diferentes tamaños y colores y se une a un CMS para el control editorial. Para IE degradando a cuadrados.
HTML :
CSS :
No es demasiado difícil ver cómo hacer esto. La pregunta más importante es si es posible hacer que las dimensiones del círculo escalen al contenido.
Actualmente no creo que sea posible. ¿Nadie?
fuente
Tarde a la fiesta, pero aquí hay una solución de arranque que me ha funcionado. Estoy usando Bootstrap 4:
Básicamente agrega
bg-dark text-white rounded-circle px-3 py-1 mx-2 h3
clases a su elemento<span>
(o lo que sea) y ya está.Tenga en cuenta que es posible que deba ajustar las clases de margen y relleno si su contenido tiene más de un dígito.
fuente
Trabajas como con un bloque estándar, que es un cuadrado
Esta es una característica de CSS 3 y no está muy bien soportada, puede contar con Firefox y Safari con seguridad.
fuente
EJEMPLO HTML
CÓDIGO
fuente
Tarde a la fiesta, pero aquí está la solución que elegí con https://codepen.io/jnbruno/pen/vNpPpW
Css:
html:
No requiere trabajo extra. Gracias John Noel Bruno
fuente
Haz algo como esto en tu CSS
Usa la etiqueta de párrafo para escribir el texto. Espero que ayude
fuente
Algo como lo que he hecho aquí podría funcionar (para los números del 0 al 99):
CSS:
HTML:
fuente
Mejorando la primera respuesta, simplemente elimine el relleno y agregue
line-height
yvertical-align
:fuente
Aquí está mi forma de hacerlo, utilizando el método cuadrado. Lo bueno es que funciona con diferentes valores, pero necesita 2 tramos.
fuente
La respuesta de thirtydot es correcta pero le falta un pequeño punto. Debe agregar posición: relativa , si desea tener un valor centrado en el círculo e incluir también un rango diferente de números. Por ejemplo 123;
HTML:
CSS:
pero una solución más fácil es usar Bootstrap
<span class="badge" style ="float:right">123</span>
fuente