2012-06-12 13 views
11

Attualmente sto lavorando a un piccolo progetto in cui sto cercando di creare un diagramma di Venn che rappresenti i colori aggiuntivi. Ho iniziato con tre cerchi (border-radius: 50%;) e ho usato una combinazione di elementi di posizione statica con overflow nascosto per creare alcune delle forme più complesse in cui i cerchi si sovrappongono. Si può vedere quello che ho attualmente qui:Ombreggiatura del rendering attorno a forme non convenzionali con HTML/CSS

http://jsfiddle.net/GjvEE/

Una caratteristica che vorrei aggiungere è l'aggiunta di un colore box-shadow attorno alla forma attualmente in fase di moused-over. La sfida unica che sto affrontando è rappresentata dal nidificazione degli elementi con overflow nascosto e dalla necessità di creare "finti bordi" lungo i quali rendere l'ombra della scatola per ogni sezione del diagramma. Ho preso in considerazione l'opzione di scartare semplicemente questo approccio e creare le forme tramite SVG, ma sono interessato a vedere se qualcuno di voi ha qualche idea intelligente per costruire questo tipo di interazione in forme più complesse usando solo HTML e CSS3 tradizionali.

Grazie in anticipo!

+0

uso molto bello di dati - attributi – BumbleB2na

+0

si desidera supportare IE8 o versioni precedenti? –

+0

No, solo IE9 +. – Aaron

risposta

1

Come utilizzare i CSS: dopo generare nuovi cerchi dietro gli altri e utilizzare uno sfondo sfumato radiale che sfuma in trasparenza?

Ho eseguito implementazioni rapide e di base per Webkit sui cerchi rosso e blu qui. Nota: hover: dopo le definizioni di stile. http://jsfiddle.net/stevelove/2hpwp/

+0

Ho preso in considerazione l'utilizzo dello pseudoclass ': after', il problema con cui starei ancora alle prese è 'tracciare' i bordi di quelle forme olivastre che sto creando con gli elementi nidificati. Le sfumature, con il controllo direzionale migliorato che offrono, potrebbero tuttavia essere un passo nella giusta direzione. – Aaron

+0

Solo un follow-up: ho fatto una piccola ricerca, e sembra che il comportamento di overflow: hidden su elementi con un 'border-radius' diverso da zero sia ancora in gran parte in flusso, e varia tra i browser web. Suppongo che SVG, raccomandato da [HTML5 Please] (http://html5please.com/#svg) con un polyfill per i browser più vecchi, sia una soluzione un po 'più valida di quanto pensassi inizialmente. Grazie per aver trovato il tempo di rispondere. – Aaron

+0

Nessun problema. È stato un modo divertente per trascorrere qualche minuto libero. – stevelove

Problemi correlati