div+css实现原子核内部动画效果代码
代码语言:html
所属分类:动画
代码描述:div+css实现原子核内部动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body {
margin: 0;
padding: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
background: repeating-conic-gradient(#FFF4 0%, transparent .0002%, transparent .075%, transparent .65%), repeating-conic-gradient(#FFF2 0%, transparent .0004%, transparent 0.05%, transparent .495%), radial-gradient(circle at 50% 50%, #121212, #000);
perspective: 100vmin;
}
body * {
transform-style: preserve-3d;
}
*::before {
box-sizing: border-box;
}
h1 {
position: absolute;
top: 4vmin;
color: #fff;
font-family: Arial, serif;
font-weight: normal;
font-size: 3.5vmin;
margin: 0;
}
.atom {
width: 50vmin;
height: 50vmin;
display: flex;
align-items: center;
justify-content: center;
border-radius: 100%;
transition: 0.4s ease 0s;
cursor: zoom-in;
}
.atom:active {
transform: scale3d(1.5,1.5,1.5);
}
.atom:before {
content: "";
width: 50vmin;
height: 50vmin;
position: absolute;
background: radial-gradient(#913ab7 -50%, #fff0 50%);
transform: translateZ(-6vmin);
box-shadow:
0 0 5vmin -2vmin #cddc3920, 0 0 10vmin 0vmin #cddc3920,
0 0 10vmin 0vmin #39dcbe20, 0 0 10vmin 0 #cddc3920 inset,
0 0 25vmin 0 #39dcbe20 inset;
border-radius: 100%;
animation: orbit-cloud 3s ease 0s infinite alternate;
opacity: 0.25;
}
@keyframes orbit-cloud {
0% { filter: hue-rotate(0deg); }
100% { filter: hue-rotate(50deg);}
}
/*** NUCLEOUS ***/
.nucleous {
width: 16vmin;
height: 16vmin;
display: flex;
align-items: center;
justify-content: center;
border-radius: 100%;
}
.row {
border-radius: 100%;
transform: rotateX(80deg);
position: absolute;
width: 40%;
height: 40%;
margin-top: -8vmin;
left: 33%;
display: flex;
align-items: center;
justify-content: center;
transform: rotateX(80deg) rotate(180deg);
animation: orbit-nucleous 3s linear 0s infinite;
}
.row:nth-child(1) div:before {
content: "";
position: absolute;
width: 100%;
height: 100%;
border-radius: 100%;
margin-top: -11vmin;
background: red;
background: radial-gradient(circle at 40% 60%, #fff0, 3vmin, #00000040 calc(3vmin + 1px) 100%), radial-gradient(circle at 28% 57%, #fff, 0.3vmin, #fff0 calc(0.3vmin + 1px) 100%), radial-gradient(circle at 37% 71%, #fff, 0.5vmin, #fff0 calc(0.5vmin + 1px) 100%), radial-gradient(circle at 40% 60%, var(--c2), 1.65vmin, #fff0 calc(1.65vmin + 1px) 100%) var(--c1);
}
.row:nth-child(2) {
--znt: 1.3,1.3,1.3;
margin-top: 0vmin;
animation: orbit-nucleous3 3s linear 0s infinite;
}
@keyframes orbit-nucleous {
0% { transform: rotateX(80deg) rotate(0deg); }
100% { transform: rotateX(80deg) rotate(360deg);}
}
@keyframes orbit-nucleous3 {
0% { transform: rotateX(80deg) rotate(0deg) scale3d(var(--znt)); }
100% { transform: rotateX(80deg) rotate(360deg) scale3d(var(--znt)); }
}
.row div {
--c1: #bc0003;
--c2: #fa0001;
width: 6vmin;
height: 6vmin;
border: 1px solid #0006;
border-radius: 100%;
background:
radial-gradient(circle at 40% 60%, #fff0, 3vmin, #00000040 calc(3vmin + 1px) 100%),
radial-gradient(circle at 28% 57%, #fff, 0.3vmin, #fff0 calc(0.3vmin + 1px) 100%),
radial-gradient(circle at 37% 71%, #fff, 0.5vmin, #fff0 calc(0.5vmin + 1px) 100%),
radial-gradient(circle at 40% 60%, var(--c2), 1.65vmin, #fff0 calc(1.65vmin + 1px) 100%)
var(--c1);
position: absolute;
top: -3vmin;
animation: orbit-nucleous-particle 3s linear 0s infinite;
}
@keyframes orbit-nucleous-particle {
0% { transform: rotateX(90deg) rotateY(360deg) scale3d(0.75, 0.75, 0.75); }
100% { transform: rotateX(90deg) rotateY(0deg) scale3d(0.75, 0.75, 0.75);}
}
.row div.neutron {
--c1: #082976;
--c2: #124b9c;
}
.row div:nth-child(2) {
top: calc(100% - 3vmin);
}
.row div:nth-child(3) {
left: -3vmin;
top: calc(50% - 3vmin);
}
.row div:nth-child(4) {
left: calc(100% - 3vmin);
top: calc(50% - 3vmin);
}
/*** ELECTRONS ***/
.orbits {
position: absolute;
width: 100%;
height: 100%;
border-radius: 100%;
animation: orbit-spin 180s linear 0s infinite;
}
@keyframes orbit-spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg);}
}
.orbits:before, .orbits:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
border-radius: 100%;
animation: orbit-spin 180s linear 0s infinite;
border: 0.2vmin dotted #CDDC3980;
filter: blur(1px);
opacity: 0.5;
}
.orbits:after {
width: 60%;
height: 60%;
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0