css实现三维下雪的圣诞树旋转动画效果代码
代码语言:html
所属分类:动画
代码描述:css实现三维下雪的圣诞树旋转动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
:root {
--main-bg: #c2c2c2;
--trunk-bg-1: #5e2100;
--trunk-bg-2: #783e00;
--leaves-bottom-bg-1: #0f980f;
--leaves-bottom-bg-2: #3fc83f;
--leaves-middle-bg-1: #1fa81f;
--leaves-middle-bg-2: #4fd84f;
--leaves-top-bg-1: #2fb82f;
--leaves-top-bg-2: #5fe85f;
--star-bg: #ffdd00;
--shine-bg: #ffeb69;
--snow-bg: #f2f2f2;
--tree-width: 200px;
--tree-height: 400px;
--tree-rotate: -15deg;
--trunk-width: 30px;
--trunk-height: 400px;
--trunk-angle: 4.3deg;
--leaves-translate: 15px;
--leaves-bottom-width: 100px;
--leaves-bottom-height: 320px;
--leaves-bottom-angle: 18.2deg;
--leaves-middle-width: 80px;
--leaves-middle-height: 220px;
--leaves-middle-angle: 21.4deg;
--leaves-top-width: 60px;
--leaves-top-height: 140px;
--leaves-top-angle: 25.5deg;
--star-size: 20px;
}
html, body {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
body {
overflow: hidden;
}
.ts-3d {
transform-style: preserve-3d;
}
.container {
background-color: var(--main-bg);
width: 100%;
min-height: 100%;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.tree {
width: var(--tree-width);
height: var(--tree-height);
position: relative;
transform-style: preserve-3d;
transform: rotateX(var(--tree-rotate));
}
.trunk,
.leaves-bottom,
.leaves-middle,
.leaves-top {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
animation: 10s tree-rotate linear infinite;
}
.trunk div {
border-top: none;
border-left: solid var(--trunk-width) transparent;
border-right: solid var(--trunk-width) transparent;
position: absolute;
bottom: 0;
left: calc(50% - var(--trunk-width));
transform-origin: bottom;
}
.trunk div:nth-child(1) {
border-bottom: solid var(--trunk-height) var(--trunk-bg-1);
transform: rotateX(var(--trunk-angle)) translateY(2px) translateZ(var(--trunk-width));
}
.trunk div:nth-child(2) {
border-bottom: solid var(--trunk-height) var(--trunk-bg-2);
transform: rotateY(90deg) rotateX(calc(var(--trunk-angle) * -1)) translateY(2px) translateZ(calc(var(--trunk-width) * -1));
}
.trunk div:nth-child(3) {
border-bottom: solid var(--trunk-height) var(--trunk-bg-1);
transform: rotateX(calc(var(--trunk-angle) * -1)) translateY(2px).........完整代码请登录后点击上方下载按钮下载查看
















网友评论0