最新下载
Vue记事本添加删除特效
24小时阅读排行榜
- 1 Python 字符串比较大小写敏感:修复宝可梦初始选择逻辑错误
- 2 如何在类中安全复用方法名变量实现动态函数调用
- 3 如何在 WPForms 表单成功提交后触发 Fancybox 弹窗
- 4 WooCommerce 订阅商品加入购物车后自动跳转至结算页的精准实现
- 5 如何在带有背景图的页脚中精准叠加内容元素
- 6 如何在 Go MySQL 驱动中实现无缓冲式逐行处理大数据集
- 7 INSERT INTO SELECT 从大表复制时的锁表与 binlog 优化
- 8 SQL 慢查询日志开启后如何快速定位高频 SQL
- 9 如何在 Go MySQL 驱动中实现真正的“无缓冲”查询处理
- 10 SQL 如何批量更新多行不同值(CASE WHEN 多分支)
- 11 HTML <details> 元素置顶显示的 CSS 实现方案
- 12 SQL 如何排查死锁(Deadlock detected)的日志解读模板
- 13 Go 中实现非阻塞通道发送前的状态预检:为何不可行及替代方案
- 14 如何筛选出包含指定车身类型的汽车品牌
- 15 函数索引(expression index)在 WHERE 函数包裹列时的应用
最新教程
-
- Node.js 教程
- 16291 2025-08-28
-
- CSS3 教程
- 1546950 2025-08-27
-
- Rust 教程
- 23418 2025-08-27
-
- Vue 教程
- 25859 2025-08-22
-
- PostgreSQL 教程
- 22356 2025-08-21
-
- Git 教程
- 9314 2025-08-21
这是一款个性创意的CSS3动感弹性波纹变换动画特效,纯CSS3圆形波纹动画效果,虽然实用性不强,不过可以学习实现方法做出自己想要的效果。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS3动感弹性波纹变换动画特效</title>
<style>
body {
background: #1C1C1C;
overflow: hidden;
}
.wrap {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
margin-left: -150px;
}
ul {
-webkit-transform: rotate3d(0, 1, 0, 45deg);
transform: rotate3d(0, 1, 0, 45deg);
}
ul li {
background: #1c1c1c;
box-shadow: inset 1px 1px 40px #19A598;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
}
li:nth-child(1) {
border: 1px solid #189c90;
width: 30px;
height: 30px;
z-index: -1;
margin-top: -15px;
margin-left: 5px;
-webkit-animation: spin 2s 0.2s infinite;
animation: spin 2s 0.2s infinite;
}
li:nth-child(2) {
border: 1px solid #169388;
width: 60px;
height: 60px;
z-index: -2;
margin-top: -30px;
margin-left: 10px;
-webkit-animation: spin 2s 0.4s infinite;
animation: spin 2s 0.4s infinite;
}
li:nth-child(3) {
border: 1px solid #158a80;
width: 90px;
height: 90px;
z-index: -3;
margin-top: -45px;
margin-left: 15px;
-webkit-animation: spin 2s 0.6s infinite;
animation: spin 2s 0.6s infinite;
}
li:nth-child(4) {
border: 1px solid #148277;
width: 120px;
height: 120px;
z-index: -4;
margin-top: -60px;
margin-left: 20px;
-webkit-animation: spin 2s 0.8s infinite;
animation: spin 2s 0.8s infinite;
}
li:nth-child(5) {
border: 1px solid #12796f;
width: 150px;
height: 150px;
z-index: -5;
margin-top: -75px;
margin-left: 25px;
-webkit-animation: spin 2s 1s infinite;
animation: spin 2s 1s infinite;
}
li:nth-child(6) {
border: 1px solid #117067;
width: 180px;
height: 180px;
z-index: -6;
margin-top: -90px;
margin-left: 30px;
-webkit-animation: spin 2s 1.2s infinite;
animation: spin 2s 1.2s infinite;
}
li:nth-child(7) {
border: 1px solid #10675f;
width: 210px;
height: 210px;
z-index: -7;
margin-top: -105px;
margin-left: 35px;
-webkit-animation: spin 2s 1.4s infinite;
animation: spin 2s 1.4s infinite;
}
li:nth-child(8) {
border: 1px solid #0e5e57;
width: 240px;
height: 240px;
z-index: -8;
margin-top: -120px;
margin-left: 40px;
-webkit-animation: spin 2s 1.6s infinite;
animation: spin 2s 1.6s infinite;
}
li:nth-child(9) {
border: 1px solid #0d554f;
width: 270px;
height: 270px;
z-index: -9;
margin-top: -135px;
margin-left: 45px;
-webkit-animation: spin 2s 1.8s infinite;
animation: spin 2s 1.8s infinite;
}
li:nth-child(10) {
border: 1px solid #0c4c46;
width: 300px;
height: 300px;
z-index: -10;
margin-top: -150px;
margin-left: 50px;
-webkit-animation: spin 2s 2s infinite;
animation: spin 2s 2s infinite;
}
li:nth-child(11) {
border: 1px solid #0a443e;
width: 330px;
height: 330px;
z-index: -11;
margin-top: -165px;
margin-left: 55px;
-webkit-animation: spin 2s 2.2s infinite;
animation: spin 2s 2.2s infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg) scale(1);
transform: rotate(0deg) scale(1);
}
50% {
-webkit-transform: rotate(360deg) scale(2);
transform: rotate(360deg) scale(2);
}
100% {
-webkit-transform: rotate(0deg) scale(1);
transform: rotate(0deg) scale(1);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg) scale(1);
transform: rotate(0deg) scale(1);
}
50% {
-webkit-transform: rotate(360deg) scale(2);
transform: rotate(360deg) scale(2);
}
100% {
-webkit-transform: rotate(0deg) scale(1);
transform: rotate(0deg) scale(1);
}
}
ul li {
list-style: none;
}
</style>
</head>
<body><script src="/demos/googlegg.js"></script>
<div class="wrap">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div style="text-align:center;margin:30px 0; font:normal 14px/24px 'MicroSoft YaHei';color:#ffffff">
</div>
</body>
</html>
