最新下载
iPicker多级联动城市选择组件
24小时阅读排行榜
- 1 如何让页面加载逻辑具备容错能力:替代 window.onload 的现代方案
- 2 如何让页面加载逻辑具备容错能力并支持多 GeoGebra 小程序注入
- 3 如何在 React 中根据动态数据实时调整组件样式
- 4 GO项目中HTML无法加载外部JS文件的解决方案
- 5 如何让按钮内文本自动换行而不挤占右侧图标位置
- 6 如何在 ACF Post Object 字段中正确获取并显示关联产品的缩略图
- 7 如何在 React 中根据动态数据实时切换组件样式
- 8 如何在 Go Web 服务中正确加载外部 JavaScript 文件
- 9 如何正确对字典列表按键或值排序(解决 KeyError: 1 错误)
- 10 如何在 PHP 中从 DOMNodeList 中筛选指定标签名的节点
- 11 如何在 Go 中通过类型断言检测数值范围错误
- 12 Python 中的单元素解包语法:[b] = a 原理与最佳实践
- 13 如何在 Go 中通过类型断言检测数值越界错误
- 14 如何为页面中多个表单分别实现独立的“编辑”功能
- 15 如何实现网页加载时 GeoGebra 小程序注入的容错与可靠执行
最新教程
-
- Node.js 教程
- 16231 2025-08-28
-
- CSS3 教程
- 1546826 2025-08-27
-
- Rust 教程
- 23369 2025-08-27
-
- Vue 教程
- 25824 2025-08-22
-
- PostgreSQL 教程
- 22307 2025-08-21
-
- Git 教程
- 9282 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>
