2012-06-12 34 views
11

Actualmente estoy trabajando en un pequeño proyecto en el que estoy tratando de crear un diagrama de Venn que represente colores aditivos. Empecé con tres círculos (radio de borde: 50%;) y usé una combinación de elementos de posición estática con desbordamiento oculto para crear algunas de las formas más complejas donde los círculos se superponen. Se puede ver lo que tengo actualmente aquí:sombra de cuadro de representación alrededor de formas no convencionales con HTML/CSS

http://jsfiddle.net/GjvEE/

Una característica que me gustaría añadir es la adición de un color box-shadow alrededor de la forma que actualmente se moused en off. El único desafío al que me enfrento se presenta al anidar los elementos con un desbordamiento oculto y la necesidad de crear 'faux-edges' (bordes falsos) a lo largo de los cuales se renderiza la sombra del recuadro para cada sección del diagrama. He considerado la opción de simplemente descartar este enfoque y crear las formas a través de SVG, pero estoy interesado en ver si alguno de ustedes tiene alguna idea inteligente para construir este tipo de interacción en formas más complejas usando solo HTML tradicional y CSS3.

¡Gracias de antemano!

+0

muy buen uso de los atributos de datos – BumbleB2na

+0

¿Quieres soportar IE8 o una versión anterior? –

+0

No, solo IE9 +. – Aaron

Respuesta

1

¿Qué hay de usar CSS: después de generar nuevos círculos detrás de los demás y utilizar un fondo degradado radial que se desvanece a transparente?

He hecho implementaciones rápidas y básicas para Webkit en los círculos rojo y azul aquí. Tenga en cuenta el: hover: después de las definiciones de estilo. http://jsfiddle.net/stevelove/2hpwp/

+0

Consideré usar la pseudoclass ': after', el problema con el que todavía estoy lidiando es 'trazar' los bordes de esas formas de oliva que estoy creando con los elementos anidados. Los degradados, con el control direccional mejorado que ofrecen, podrían ser un paso en la dirección correcta. – Aaron

+0

Solo un seguimiento: He estado investigando un poco, y parece que el comportamiento de 'overflow: hidden' en elementos con un' border-radius' no nulo todavía está en gran parte en flujo, y varía entre los navegadores web. Supongo que SVG, recomendado por [HTML5 Please] (http://html5please.com/#svg) con un polyfill para navegadores antiguos, es un poco más viable como solución de lo que pensé originalmente. Gracias por tomarse el tiempo para responder. – Aaron

+0

No hay problema. Fue una forma divertida de pasar unos minutos libres. – stevelove

Cuestiones relacionadas