Ho fatto un semplice layout per dimostrarlo.
Per prima cosa, inserirò 4 div, il primo a mostrare i risultati parziali e l'ultimo a vedere il risultato finale. La marcatura è semplicemente:
<div class="box mesh1"></div>
<div class="box mesh2"></div>
<div class="box mesh3"></div>
<div class="box mesh"></div>
qui scatola è solo per le dimensioni, mesh1 a 3 detengono i risultati parziali, in maglia mettiamo tutto insieme.
Il CSS è:
.box {
width: 400px;
height: 150px;
position: relative;
display: inline-block;
}
.mesh1, .mesh {
background:
-webkit-linear-gradient(5deg, rgba(0, 250, 0, 0.5), rgba(0, 100, 0, 0.5))
}
.mesh:after, .mesh:before {
content: "";
position: absolute;
left: 0px;
bottom: 0px;
top: 0px;
right: 0px;
}
.mesh2, .mesh:after {
background: -webkit-radial-gradient(center center, circle cover, rgba(250, 0, 0, 0.6) 0%, rgba(120, 0, 10, 0.5) 100%);}
.mesh3, .mesh:before {
background: -webkit-radial-gradient(10% 10%, ellipse cover, rgba(0, 0, 250, 0.6) 0%, white 100%);}
sto dando alla classe mesh1 una bassa lineare, inclinate di 5 gradi, e specificando i colori in formato RGBA per consentire la trasparenza.
Quindi, per essere in grado di sovrapporre più gradienti, specifco per pseudo elementi come prima e dopo, condividendo le stesse proprietà di layout.
All'elemento successivo fornisco una sfumatura circolare, condivisa con la mesh2 All'elemento precedente attribuisco una sfumatura ellittica, decentrata. Tutti possono essere rgba.
Alla fine, si vede nella maglia div il risultato della sovrapposizione di tutto
(ho usato in tutto il mondo la notazione webkit per farla breve)
Non direi che è molto più artistica, ma lascio questa parte per voi :-)
fiddle here
+1 per l'immagine utile sopra –