通过css3实现炫酷的雷达扫描图:
直接上代码:
// index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>雷达扫描图</title> <link rel="stylesheet" href="css/index.css"> </head> <body> <div class="radar"></div> </body> </html>
//index.css * { box-sizing: border-box; } html { height: 100%; background-color: #111; font-size: 10px; } body { background-image: linear-gradient(0deg, transparent 24%, rgba(32, 255, 77, 0.15) 26%, transparent 27%, transparent 74%, rgba(32, 255, 77, 0.15) 76%, transparent 77%, transparent), linear-gradient(90deg, transparent 24%, rgba(32, 255, 77, 0.15) 26%, transparent 27%, transparent 74%, rgba(32, 255, 77, 0.15) 76%, transparent 77%, transparent); background-size: 8rem 8rem; width: 100%; height: 100%; position: relative; padding: 0; margin: 0; font-size: 1.6rem; } .radar { background: -webkit-radial-gradient(center, rgba(32, 255, 77, 0.3) 0%, rgba(32, 255, 77, 0) 75%), -webkit-repeating-radial-gradient(rgba(32, 255, 77, 0) 5.8%, rgba(32, 255, 77, 0) 18%, #20ff4d 18.6%, rgba(32, 255, 77, 0) 18.9%), -webkit-linear-gradient(90deg, rgba(32, 255, 77, 0) 49.5%, #20ff4d 50%, rgba(32, 255, 77, 0) 50.2%), -webkit-linear-gradient(0deg, rgba(32, 255, 77, 0) 49.5%, #20ff4d 50%, rgba(32, 255, 77, 0) 50.2%); width: 75vw; height: 75vw; max-height: 75vh; max-width: 75vh; position: relative; left: 50%; top: 50%; /* 元素居中定位 */ transform: translate(-50%, -50%); border-radius: 50%; border: 0.2rem solid #20ff4d; overflow: hidden; } .radar:before { content: ' '; display: block; position: absolute; width: 100%; height: 100%; border-radius: 50%; animation: blips 5s infinite; animation-timing-function: linear; animation-delay: 1.4s; } .radar:after { content: ' '; display: block; background-image: linear-gradient(44deg, rgba(0, 255, 51, 0) 50%, #00ff33 100%); width: 50%; height: 50%; position: absolute; top: 0; left: 0; animation: radar-beam 5s infinite; /* 速度相同 */ animation-timing-function: linear; transform-origin: bottom right; border-radius: 100% 0 0 0; } @keyframes radar-beam { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes blips { 14% { background: radial-gradient(2vmin circle at 75% 70%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%); } 14.0002% { background: radial-gradient(2vmin circle at 75% 70%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%), radial-gradient(2vmin circle at 63% 72%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%); } 25% { background: radial-gradient(2vmin circle at 75% 70%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%), radial-gradient(2vmin circle at 63% 72%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%), radial-gradient(2vmin circle at 56% 86%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%); } 26% { background: radial-gradient(2vmin circle at 75% 70%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%), radial-gradient(2vmin circle at 63% 72%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%), radial-gradient(2vmin circle at 56% 86%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%); opacity: 1; } 100% { background: radial-gradient(2vmin circle at 75% 70%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%), radial-gradient(2vmin circle at 63% 72%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%), radial-gradient(2vmin circle at 56% 86%, #ffffff 10%, #20ff4d 30%, rgba(255, 255, 255, 0) 100%); opacity: 0; } }
ps: 转自https://www.html5tricks.com/pure-css3-radar-scanning.html
总结
到此这篇关于CSS3 实现雷达扫描图的示例代码的文章就介绍到这了,更多相关css3雷达扫描图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
接口和类型别名非常相似,在大多情况下二者可以互换。在写TS的时候,想必大家都...
1.什么是母校?就是那个你一天骂他八遍却不许别人骂的地方。 2.拍毕业照三秒的...
一、少用偏门。 类似break-word断行,z-index手动分层,还有像垂直对齐等等这些...
在经典配色中,可能每个人都不会否认黑白灰的永恒魅力。虽然人们总是想outstandi...
如上图,padding值是复合属性按照顺时针(上右下做)顺序,其中padding的内边距影响...
先来看一下效果,这在CSS3之前,完全是不可想象的,只有图片才能做的到,但在HTM...
png透明 AlphaImageLoader filter:progid:DXImageTransform.Microsoft.AlphaImag...
recorder.js microphone基于HTML5的录音功能,输出格式为mp3文件。 前言 完全依...
简介 Amaze UI 是一个针对 HTML 5 开发的轻量级、模块化、移动优先的跨屏前端框...
前言 当页面的html结构嵌套的盒子很多的时候,可能会导致一个页面中含有多个垂直...