下面是一个简单的CSS代码,模拟雷达扫描特效:
HTML代码:
html
CSS代码:
css
.radar {
position: relative;
width: 200px;
height: 200px;
border-radius: 50%;
background-color: rgba(0, 0, 0, 0.5);
overflow: hidden;
}
.radar:before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
background-color: rgba(0, 255, 0, 0.7);
border-radius: 50%;
animation: pulse 2s infinite;
}
.radar:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
border-style: solid;
border-color: rgba(0, 255, 0, 0.7);
border-width: 0 200px 200px 0;
border-radius: 50%;
animation: sweep 2s infinite;
}
@keyframes pulse {
0% { transform: translate(-50%, -50%) scale(0); }
50% { transform: translate(-50%, -50%) scale(1); }
100% { transform: translate(-50%, -50%) scale(0); }
}
@keyframes sweep {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
这段代码创建了一个圆形的雷达扫描特效。使用一个div元素作为雷达的容器,设置了宽度、高度、边框半径和背景颜色。通过:before和:after伪元素创建了雷达的扫描线和中心点。
通过定义关键帧动画实现扫描线和中心点的动画效果。pulse关键帧动画使中心点在0%和100%时由无到有再到无的缩放效果;sweep关键帧动画使扫描线在0%和100%时从0度旋转到360度,形成扫描的动画效果。
你可以根据需求调整代码中的各种参数,如大小、颜色等,来创建自己想要的雷达扫描特效。