svg+js实现九种圆点波动动画效果代码
代码语言:html
所属分类:动画
代码描述:svg+js实现九种圆点波动动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url("https://fonts.cdnfonts.com/css/thegoodmonolith");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: #000;
color: #f0f0f0;
font-family: "TheGoodMonolith", monospace;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 100vh;
padding: 20px;
}
h1 {
margin-bottom: 30px;
font-size: 24px;
letter-spacing: 1px;
text-align: center;
}
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
max-width: 1000px;
margin: 0 auto;
}
@media (max-width: 900px) {
.container {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 500px) {
.container {
grid-template-columns: 1fr;
}
}
.animation-container {
position: relative;
width: 220px;
height: 220px;
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(0, 0, 0, 0.5);
padding: 10px;
display: flex;
flex-direction: column;
align-items: center;
overflow: visible;
transition: border-color 0.3s ease;
}
.animation-container:hover {
border-color: rgba(255, 255, 255, 0.3);
}
.animation-title {
margin-bottom: 10px;
font-size: 12px;
letter-spacing: 0.5px;
text-transform: uppercase;
text-align: center;
}
.circle-container {
position: relative;
width: 180px;
height: 180px;
display: flex;
justify-content: center;
align-items: center;
}
.dot {
position: absolute;
border-radius: 50%;
background: #fff;
}
.line {
position: absolute;
background: rgba(255, 255, 255, 0.5);
transform-origin: 0% 50%;
}
.circle {
position: absolute;
border-radius: 50%;
border: 1px solid rgba(255, 255, 255, 0.5);
}
/* Corner decorations */
.corner {
position: absolute;
width: 16px;
height: 16px;
color: white;
opacity: 0;
z-index: 10;
pointer-events: none;
transition: opacity 0.3s ease;
}
.animation-container:hover .corner {
opacity: 1;
}
.top-left {
top: -8px;
left: -8px;
transition-delay: 0s;
}
.top-right {
top: -8px;
right: -8px;
transform: rotate(90deg);
transition-delay: 0.1s;
}
.bottom-left {
bottom: -8px;
left: -8px;
transform: rotate(-90deg);
transition-delay: 0.2s;
}
.bottom-right {
bottom: -8px;
right: -8px;
transform: rotate(180deg);
transition-delay: 0.3s;
}
/* Animation keyframes */
@-webkit-keyframes orbit {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes orbit {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@-webkit-keyframes reverseOrbit {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(-360deg);
}
}
@keyframes reverseOrbit {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(-360deg);
}
}
@-webkit-keyframes pulse {
0% {
transform: scale(0.8);
opacity: 0.3;
}
50% {
transform: scale(1.2);
opacity: 1;
}
100% {
transform: scale(0.8);
opacity: 0.3;
}
}
@keyframes pulse {
0% {
transform: scale(0.8);
opacity: 0.3;
}
50% {
transform: scale(1.2);
opacity: 1;
}
100% {
transform: scale(0.8);
opacity: 0.3;
}
}
@-webkit-keyframes ripple {
0% {
transform: scale(0.1);
opacity: 0.6;
}
100% {
transform: scale(1);
opacity: 0;
}
}
@keyframes ripple {
0% {
transform: scale(0.1);
opacity: 0.6;
}
100% {
transform: scale(1);
opacity: 0;
}
}
</style>
</head>
<body translate="no">
<h1>CIRCLE ANIMATIONS COLLECTION N°2</h1>
<div class="container">
<div class="animation-container">
<div class="animation-title">Radial Pulse</div>
<div id="radial-pulse" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Orbital Pulse</div>
<div id="orbital-pulse" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Pendulum Wave</div>
<div id="pendulum-wave" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Pulse Wave</div>
<div id="pulse-wave" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Concentric Rings</div>
<div id="concentric-rings" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Sequential Pulse</div>
<div id="sequential-pulse" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Oscillating Dots</div>
<div id="oscillating-dots" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Pulsing Grid</div>
<div id="pulsing-grid" class="circle-container"></div>
</div>
<div class="animation-container">
<div class="animation-title">Spiral Galaxy</div>
<div id="spiral-galaxy" class="circle-container"></div>
</div>
</div>
<script >
(function () {
// Add corner decorations to all animation containers.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0