html代码:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>css 3D 金字塔发光效果</title>
<link rel="stylesheet" href="style.css">
<span style="--i:0"></span>
<span style="--i:1"></span>
<span style="--i:2"></span>
<span style="--i:3"></span>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>css 3D 金字塔发光效果</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="pyramid">
<div class="glow"></div>
<div>
<span style="--i:0"></span>
<span style="--i:1"></span>
<span style="--i:2"></span>
<span style="--i:3"></span>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>css 3D 金字塔发光效果</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="pyramid">
<div class="glow"></div>
<div>
<span style="--i:0"></span>
<span style="--i:1"></span>
<span style="--i:2"></span>
<span style="--i:3"></span>
</div>
</div>
</body>
</html>
css代码:
transform-style:preserve-3d;
animation:animate 8s linear infinite;
transform:rotateX(-30deg) rotateY(0deg);
transform: rotateX(-30deg) rotateY(360deg);
transform-style: preserve-3d;
background:linear-gradient(#151515,#00ec00);
clip-path: polygon(50% 0%,0% 100%,100% 100%);
transform:rotateY(calc(90deg * var(--i))) translateZ(150px) rotateX(30deg);
transform-origin: bottom;
transform:rotateX(90deg) translateZ(-250px);
box-shadow: 0 0 120px rgba(0,255,0,0.2),
0 0 200px rgba(0,255,0,0.4),
0 0 300px rgba(0,255,0,0.6),
0 0 400px rgba(0,255,0,0.8),
0 0 500px rgba(0,255,0,1);
.
{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background:#050505;
}
.pyramid
{
position:absolute;
width:300px;
height: 300px;
transform-style:preserve-3d;
animation:animate 8s linear infinite;
}
@keyframes animate
{
0%
{
transform:rotateX(-30deg) rotateY(0deg);
}
100%
{
transform: rotateX(-30deg) rotateY(360deg);
}
}
.pyramid div{
position:absolute;
top:0;
left:0;
width:100%;
height: 100%;
transform-style: preserve-3d;
}
.pyramid div span
{
position:absolute;
top:0;
left:0;
width: 100%;
height: 100%;
background:linear-gradient(#151515,#00ec00);
clip-path: polygon(50% 0%,0% 100%,100% 100%);
transform:rotateY(calc(90deg * var(--i))) translateZ(150px) rotateX(30deg);
transform-origin: bottom;
}
.pyramid .glow
{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:#00ec00;
transform:rotateX(90deg) translateZ(-250px);
filter:blur(20px);
box-shadow: 0 0 120px rgba(0,255,0,0.2),
0 0 200px rgba(0,255,0,0.4),
0 0 300px rgba(0,255,0,0.6),
0 0 400px rgba(0,255,0,0.8),
0 0 500px rgba(0,255,0,1);
}
.
{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background:#050505;
}
.pyramid
{
position:absolute;
width:300px;
height: 300px;
transform-style:preserve-3d;
animation:animate 8s linear infinite;
}
@keyframes animate
{
0%
{
transform:rotateX(-30deg) rotateY(0deg);
}
100%
{
transform: rotateX(-30deg) rotateY(360deg);
}
}
.pyramid div{
position:absolute;
top:0;
left:0;
width:100%;
height: 100%;
transform-style: preserve-3d;
}
.pyramid div span
{
position:absolute;
top:0;
left:0;
width: 100%;
height: 100%;
background:linear-gradient(#151515,#00ec00);
clip-path: polygon(50% 0%,0% 100%,100% 100%);
transform:rotateY(calc(90deg * var(--i))) translateZ(150px) rotateX(30deg);
transform-origin: bottom;
}
.pyramid .glow
{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:#00ec00;
transform:rotateX(90deg) translateZ(-250px);
filter:blur(20px);
box-shadow: 0 0 120px rgba(0,255,0,0.2),
0 0 200px rgba(0,255,0,0.4),
0 0 300px rgba(0,255,0,0.6),
0 0 400px rgba(0,255,0,0.8),
0 0 500px rgba(0,255,0,1);
}