Encontré este ejemplo en stackoverflow:
Dibujar círculo usando CSS solo
Lo cual es genial. ¿Pero me gustaría saber cómo modificar ese ejemplo para poder incluir texto en el medio del círculo?
También encontré esto: centrado vertical y horizontalmente el texto en círculo en CSS (como la insignia de notificación de iPhone)
pero por alguna razón, no funciona para mí. Cuando creo el siguiente código de prueba:
<div class="badge">1</div>
en lugar de un círculo, obtengo una forma ovalada. Estoy tratando de jugar con el código para ver cómo puedo hacer que funcione.
css
css-shapes
punto
fuente
fuente
border-radius:50%;
que su evento de código sea más elegante y portátil, sin tener que cambiar este atributo cada vez en función del ancho y la altura;)Si su contenido se va a ajustar y tendrá una altura desconocida, esta es su mejor opción:
http://cssdeck.com/labs/aplvrmue
Mostrar fragmento de código
fuente
display: absolute
rompe la alineación, pero la solución fácil es envolverlo dentro de otro div.Puedes usar css3
flexbox
.HTML:
CSS:
Esto le permitirá tener una sola línea vertical y horizontalmente alineada y texto de varias líneas.
Mostrar fragmento de código
fuente
¿Creo que quieres escribir texto en un óvalo o círculo? ¿Por qué no este?
fuente
Para un diseño web que me dieron recientemente, tuve que resolver la cantidad de texto centrada y desconocida en un problema de círculo fijo y pensé que compartiría la solución aquí para otras personas que buscan combinaciones de círculo / texto.
El problema principal que tuve fue que el texto a menudo rompía los límites del círculo. Para resolver esto terminé usando 4 divs. Un contenedor rectangular que especifica los límites máximos (fijos) del círculo. Dentro de eso estaría el div que dibuja el círculo con su ancho y altura establecidos al 100%, por lo que cambiar el tamaño del padre cambia el tamaño del círculo real. Dentro de eso habría otro div rectangular que, utilizando% 's, crearía un área de límite de texto que evitaría que el texto abandone el círculo (en su mayor parte). Finalmente, el div real para el texto y el centrado vertical.
Tiene más sentido como código:
Puede descomentar los colores del borde en los contenedores div para ver cómo se restringe.
Cosas a tener en cuenta: aún puede romper los límites del círculo si coloca demasiado texto o usa palabras / texto ininterrumpido que son demasiado largos. Todavía no es una buena opción para texto completamente desconocido (como la entrada del usuario), pero funciona mejor cuando se sabe vagamente cuál es la mayor cantidad de texto que necesitará almacenar y establecer el tamaño del círculo y los tamaños de fuente en consecuencia. Puede configurar el contenedor de texto div para ocultar cualquier desbordamiento, por supuesto, pero eso puede parecer "roto" y no es un reemplazo para tener en cuenta el tamaño máximo correctamente en su diseño.
¡Espero que sea útil para alguien! HTML / CSS no es mi disciplina principal, así que estoy seguro de que se puede mejorar.
fuente
Dibuje un círculo con texto en el medio con etiqueta HTML y sin CSS
fuente
font-size
,font-family
,x
, y lay
alineación. Para cualquiera que no tenga Verdana instalado, no estará centrado. El usox="50%" y="50%" dominant-baseline="middle" text-anchor="middle"
tampoco resuelve el problema.Si es solo una línea de texto, puede usar la propiedad de altura de línea, con el mismo valor que la altura del elemento:
Si el texto tiene varias líneas, o si el contenido es variable, puede usar el relleno superior:
Ejemplo: http://jsfiddle.net/2GUFL/
fuente
Por supuesto, tienes que usar etiquetas para hacer eso. Uno para crear el círculo y otro para el texto.
Aquí un código puede ayudarte
Ejemplo en vivo aquí http://jsbin.com/apumik/1/edit
Actualizar
Aquí menos pequeño con algunos cambios
http://jsbin.com/apumik/3/edit
fuente
Para mí, solo esta solución funcionó para texto multilínea:
fuente
Si está utilizando Foundation 5 y el marco Compass, puede probar esto.
entrada .sass
salida .css
fuente
Obtuve esto de la página de YouTube que tiene una configuración realmente simple. Absolutamente mantenible y reutilizable.
fuente
Algunas de las soluciones aquí no me funcionaron bien en círculos pequeños. Así que hice esta solución usando ol posición absoluta.
El uso de SASS se verá así:
Y se puede usar como
Ver demostración en https://codepen.io/matheusrufca/project/editor/DnYPMK
Vea el fragmento para ver el CSS de salida
Mostrar fragmento de código
fuente
Una forma de hacerlo es usar flexbox para alinear el texto en el medio. La forma en que lo encontré es la siguiente:
HTML:
CSS:
Aquí el plnkr: https://plnkr.co/edit/EvWYLNfTb1B7igoc3TZx?p=preview
fuente
El uso de este código también responderá.
fuente
fuente
Estaba combinando algunas respuestas de otras personas y con
float
yrelative
me dio el resultado que necesitaba.En HTML uso un div. Lo uso dentro de a
li
para una barra de navegación.fuente