blucube ."> blucube .">

Fondo de degradado animado con CSS puro

Tiempo de ejecución: 30 minutos. Empezar

Autor: blucube
Views Total: 6,112
Sitio oficial: Ir a la web
Actualizado: July 5, 2014
Licencia: Unknown

Vista prévia

Fondo de degradado animado con CSS puro

Descripción

Un fondo animado degradado usando CSS3 Box-Shadow propiedades y animaciones de fotogramas clave, escritas en LESS y creadas por < a href = "https://codepen.io/blucube" target = "_ blank" rel = "noopener" > blucube .

Funcionamiento

Cree tres capas DIV para el fondo de degradado animado.

<body>
<div></div>
<div></div>
<div></div>
</body>

El código LESS.

@diameter: 45vmax;

body {

background: #000;
}

h1 {

position: absolute;

width: 100%;

text-align: center;

top: 48vh;

color: #fff;

font-family: 'Trebuchet MS', Helvetica, sans-serif;

letter-spacing: .7em;

font-size: 20pt;

font-weight: normal;

opacity: .2;

text-transform: uppercase;
}

div {

position: absolute;

width: .001vmin;

height: .001vmin;

border-radius: 50%;

opacity: .25;
}

div:nth-child(2) {

box-shadow: 0 0 @diameter @diameter magenta;

animation:


 hue 10s 0s linear infinite,


move1 19s 0s linear infinite;
}

div:nth-child(3) {

box-shadow: 0 0 @diameter @diameter white;

animation:


 hue 15s 0s linear infinite,


move2 25s 0s linear infinite;
}

div:nth-child(4) {

box-shadow: 0 0 @diameter @diameter cyan;

animation:


 hue 20s 0s linear infinite,


move3 15s 0s linear infinite;

opacity: .2;
}

@keyframes hue {

0% { filter: hue-rotate(0deg); }

100% { filter: hue-rotate(360deg); }
}

@keyframes move1 {

0% {


top: 0vh;


left: 50vw;

}

25% {


left: 0vw;

}

50% {


top: 100vh;

}

75% {


left: 100vw;

}

100% {


top: 0vh;


left: 50vw;

}
}

@keyframes move2 {

0% {


top: 50vh;


left: 100vw;

}

25% {
 	top:
100vh;

}

50% {


left: 0vw;

}

75% {


top: 0vh;

}

100% {


top: 50vh;


left: 100vw;

}
}

@keyframes move3 {

0% {


top: 100vh;


left: 50vw;

}

25% {
 	left: 100vw;

}

50% {


top: 0vh;

}

75% {


left: 0vw;

}

100% {


top: 100vh;


left: 50vw;

}
}

O utilice estilos CSS.

body { background: #000; }

h1 {

position: absolute;

width: 100%;

text-align: center;

top: 48vh;

color: #fff;

font-family: 'Trebuchet MS', Helvetica, sans-serif;

letter-spacing: .7em;

font-size: 20pt;

font-weight: normal;

opacity: .2;

text-transform: uppercase;
}

div {

position: absolute;
 width: .001vmin;
 height: .001vmin;

border-radius: 50%;

opacity: .25;
}

div:nth-child(2) {

-webkit-box-shadow: 0 0 45vmax 45vmax #ff00ff;

box-shadow: 0 0 45vmax 45vmax #ff00ff;

-webkit-animation: hue 10s 0s linear infinite, move1 19s 0s linear infinite;

animation: hue 10s 0s linear infinite, move1 19s 0s linear infinite;
}

div:nth-child(3) {

-webkit-box-shadow: 0 0 45vmax 45vmax #ffffff;

box-shadow: 0 0 45vmax 45vmax #ffffff;

-webkit-animation: hue 15s 0s linear infinite, move2 25s 0s linear infinite;

animation: hue 15s 0s linear infinite, move2 25s 0s linear infinite;
}

div:nth-child(4) {

-webkit-box-shadow: 0 0 45vmax 45vmax #00ffff;

box-shadow: 0 0 45vmax 45vmax #00ffff;

-webkit-animation: hue 20s 0s linear infinite, move3 15s 0s linear infinite;

animation: hue 20s 0s linear infinite, move3 15s 0s linear infinite;

opacity: .2;
}
@-webkit-keyframes
 hue { 0% {
 -webkit-filter: hue-rotate(0deg);
 filter: hue-rotate(0deg);
}
 100% {
 -webkit-filter: hue-rotate(360deg);
 filter: hue-rotate(360deg);
}
}
@keyframes
 hue { 0% {
 -webkit-filter: hue-rotate(0deg);
 filter: hue-rotate(0deg);
}
 100% {
 -webkit-filter: hue-rotate(360deg);
 filter: hue-rotate(360deg);
}
}
@-webkit-keyframes
 move1 { 0% {
 top: 0vh;
 left: 50vw;
}
 25% {
 left: 0vw;
}
 50% {
 top: 100vh;
}
 75% {
 left: 100vw;
}
 100% {
 top: 0vh;
 left: 50vw;
}
}
@keyframes
 move1 { 0% {
 top: 0vh;
 left: 50vw;
}
 25% {
 left: 0vw;
}
 50% {
 top: 100vh;
}
 75% {
 left: 100vw;
}
 100% {
 top: 0vh;
 left: 50vw;
}
}
@-webkit-keyframes
 move2 { 0% {
 top: 50vh;
 left: 100vw;
}
 25% {
 top: 100vh;
}
 50% {
 left: 0vw;
}
 75% {
 top: 0vh;
}
 100% {
 top: 50vh;
 left: 100vw;
}
}
@keyframes
 move2 { 0% {
 top: 50vh;
 left: 100vw;
}
 25% {
 top: 100vh;
}
 50% {
 left: 0vw;
}
 75% {
 top: 0vh;
}
 100% {
 top: 50vh;
 left: 100vw;
}
}
@-webkit-keyframes
 move3 { 0% {
 top: 100vh;
 left: 50vw;
}
 25% {
 left: 100vw;
}
 50% {
 top: 0vh;
}
 75% {
 left: 0vw;
}
 100% {
 top: 100vh;
 left: 50vw;
}
}
@keyframes
 move3 { 0% {
 top: 100vh;
 left: 50vw;
}
 25% {
 left: 100vw;
}
 50% {
 top: 0vh;
}
 75% {
 left: 0vw;
}
 100% {
 top: 100vh;
 left: 50vw;
}
}

Te puede interesar: