<!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> 3d pyramid with glow shadow</title>
</head>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: linear-gradient(to right, #16272e, #96157a);
perspective: 600px;
background-blend-mode: multiply;
background-size: cover;
background-repeat: no-repeat;
}
.pyramid{
position: absolute;
width: 300px;
height: 300px;
transform-style: preserve-3d;
animation: animate-pyramid 10s linear infinite;
}
@keyframes animate-pyramid {
0%{
transform: rotateX(360deg) rotateY(360deg) rotateZ(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;
height: 100%;
width: 100%;
/* background: linear-gradient(black, slateblue); */
clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
transform: rotateY(calc(90deg * var(--i)))
translateZ(150px) rotateX(30deg);
transform-origin: bottom;
filter: drop-shadow(30px 10px 4px #ffffff);
background-blend-mode: multiply;
background-size: 100% 100%, 60% 60%;
background-position: center;
background-repeat: no-repeat;
}
.glow{
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba(105, 90, 205, 0.404);
transform: rotateX(90deg) translateZ(-200px);
filter: blur(20px);
box-shadow: 0 0 120px rgba(74, 59, 173, 0.2),
0 0 120px rgba(163, 59, 173, 0.4),
0 0 200px rgba(59, 173, 173, 0.6),
0 0 300px rgba(63, 173, 59, 0.8),
0 0 400px rgba(173, 146, 59, 0.9),
0 0 500px rgba(74, 59, 173, 1);
}
.span1{
background: linear-gradient(black, slateblue);
}
.span2{
background: linear-gradient(black, rgb(205, 90, 171));
}
.span3{
background: linear-gradient(black, rgb(94, 205, 90));
}
.span4{
background: linear-gradient(black, rgb(90, 205, 205));
}
</style>
<body>
<div class="pyramid">
<!-- <div class="glow"></div> -->
<div>
<div class="wrap"><span style="--i:0;" class="span4"></span> </div>
<span style="--i:1;" class="span1"></span>
<span style="--i:2;" class="span2"></span>
<span style="--i:3;" class="span3"></span>
</div>
</div>
</body>
</html>
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.