¿Cómo crear un efecto radar con las animaciones en CSS?
- Andrés Cruz

En esta entrada veremos cómo crear un simple efecto radar con solo CSS empleando múltiples etiquetas div
obteniendo el siguiente resultado:
Para esto emplearemos las animaciones en CSS definiendo el siguiente keyframe
:
@keyframes radar{
0%{
width:75px;
height:75px;
border:40px
solid #fff;
opacity:0
}50%{
opacity:.1
}
90%{
width:750px;
height:750px
}
90%,100%{
border:2px
solid #fff;
opacity:0
}100%{
width:1500px;
height:1500px
}
Y un poco más de de CSS para definir su forma, color y tamaño inicial y posicionarnos en el espacio 2D con la propiedad transform
:
.radar {
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
border: 10px solid #fff;
width: 150px;
height: 150px;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
-webkit-animation: radar 2s infinite;
animation: radar 2s infinite;
opacity: 0;
}
Ahora definiremos cada una de las ondas; en donde una onda representa un div
:
<div class="radar"></div>
<div class="radar"></div>
<div class="radar"></div>
<div class="radar"></div>
Para evitar que las ondas se solapen entre si, alteramos el inicio de las animaciones para dos de ellas usando la propiedad CSS animation-delay
:
.radar:nth-child(2) {
animation-delay: .4s;
}
.radar:nth-child(3) {
animation-delay: .9s;
}
.radar:nth-child(4) {
animation-delay: .15s;
}
Y esto es lo principal que debes saber; además definiremos un fondo con un azul oscuro para poder ver el efecto quedando el experimento CSS de la siguiente manera:
Podemos adaptar el código inicial para colocar algún elemento como una imagen o un botón, obteniendo un interesante efecto que atrae la atención en un 100% al elemento central:
Acepto recibir anuncios de interes sobre este Blog.
En esta entrada veremos cómo crear un simple efecto radar con CSS y las animaciones usando un keyframe para generar las ondas sobre múltiples etiquetas divs.
- Andrés Cruz