Me pregunto si hay una manera más fácil de crear divisiones circulares que lo que estoy haciendo ahora.
Actualmente, solo estoy haciendo una imagen para cada tamaño diferente, pero es molesto hacerlo.
¿Hay alguna forma de usar CSS para hacer divs que son circulares y puedo especificar el radio?
html
css
geometry
css-shapes
bmaster
fuente
fuente
Respuestas:
Aquí hay una demostración: http://jsfiddle.net/thirtydot/JJytE/1170/
CSS:
HTML:
Para que esto funcione en IE8 y versiones anteriores , debe descargar y usar CSS3 PIE . Mi demostración anterior no funcionará en IE8, pero eso es solo porque jsFiddle no aloja
PIE.htc
.Mi demo se ve así:
fuente
div
en su página es redondo, que puede ver si le agrega, por ejemploborder: 5px solid red
. El problema es que las partes de la imagen que "sobresalen del círculo" no se ocultan. Ninguna de las soluciones habituales es particularmente fácil de aplicar aquí. Sugiero usar la-webkit-mask-image
propiedad para arreglar los navegadores WebKit (y mantenerborder-radius
, para otros navegadores). Más información aquí: webkit.org/blog/181/css-masks . También puede considerar hacer una pregunta aquí en Stack Overflow, para ver si alguien más tiene alguna otra idea.Establecer el radio del borde de cada lado de un elemento al 50% creará la visualización del círculo en cualquier tamaño:
fuente
Prueba esto
fuente
De hecho es posible.
Ver: Consejo CSS: Cómo hacer círculos sin imágenes . Ver demo .
Pero ten cuidado, tiene serias desventajas en términos de compatibilidad, básicamente, estás haciendo un ladrido de gato.
Véalo trabajando aquí
Como verá usted sólo tiene que configurar el
height
ywidth
la mitad de laborder-radius
¡Buena suerte!
fuente
jsfiddle
enlace! Este enlace es el único que funciona desde su respuesta por ahora. ;)También está [la mala idea de] usar varios (20+) divs horizontales o verticales de 1px para construir un círculo. Este complemento jQuery utiliza este método para construir diferentes formas.
fuente
Proporcione ancho y alto según el tamaño, pero mantenga ambos iguales
fuente
border-radius: 50%;
es suficiente.Solo quería mencionar otra solución que responde a la pregunta "¿Una forma más fácil de crear un círculo dividido que usar una imagen?" que es usar FontAwesome.
Importa el archivo css de fontawesome o desde el CDN aquí
y luego simplemente:
y puede darle el color que desee de cualquier tamaño de fuente.
fuente
Puedes probar la
radial-gradient
función CSS:Aplicarlo a una
div
capa:fuente
Digamos que tienes esta imagen:
para hacer un círculo de esto solo necesitas agregar
Entonces, si tienes un div, puedes hacer lo mismo.
Verifique el siguiente ejemplo:
fuente
Puede usar el radio pero no va a trabajar en IE:
border-radius: 5px 5px;
.fuente
fuente
Básicamente, esto utiliza la posición absoluta de div para colocar un carácter en las coordenadas dadas. entonces, usando la ecuación paramétrica para un círculo, puedes dibujar un círculo. si fuera a cambiar la posición del div a relativa, se generaría una onda sinusoidal ...
en esencia, estamos graficando ecuaciones al abusar de la propiedad de posición. No estoy bien versado en CSS, por lo que alguien seguramente puede hacer esto más elegante. disfrutar.
esto funciona en todos los navegadores y dispositivos móviles (que yo sepa). Lo uso en mi propio sitio web para dibujar ondas sinusoidales de texto (www.cpixel.com). La fuente original de este código se encuentra aquí: www.mathopenref.com/coordcirclealgorithm.html
fuente
Agregar la
css
propiedad de:border-radius: 50%;
a cualquier div lo hace circular.
fuente
Para el círculo, cree un elemento div y luego ingrese ancho = 2 veces el radio del borde = 2 veces el relleno. También line-height = 0 Por ejemplo, con 50px como radios del círculo, el siguiente código funciona bien:
fuente