1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
* { margin: 0; padding: 0; box-sizing: border-box; }
.App, body { position: relative; display: flex; justify-content: center; align-items: center; height: 100vh; width: 100vw; background-color: #e8ffe8; }
.tree { position: relative; width: 150px; height: 150px; transform-style: preserve-3d; transform: rotateX(-20deg) rotateY(30deg); animation: movie 7s linear infinite; }
@keyframes movie { 0% { transform: rotateX(-20deg) rotateY(360deg); }
100% { transform: rotateX(-20deg) rotateY(0deg); } }
.text { position: absolute; top: 20px; font-size: 2rem; font-weight: bold; color: #222; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; }
.tree .icon-iconcollect-copy { position: absolute; left: calc(50% - 1rem) !important; top: -10rem !important; color: yellow !important; font-size: 2rem !important; }
.tree div { position: absolute; top: -100px; left: 0; width: 100%; height: 100%; transform-style: preserve-3d; }
.tree .top span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, #69c069, #77dd77); clip-path: polygon(50% 0%, 0% 100%, 100% 100%); transform-origin: bottom; border-bottom: 10px solid #00000019; }
.tree .bottom span { position: absolute; top: 350px; left: calc(50% - 30px); width: 60px; height: 40%; background: linear-gradient(90deg, #bb4622, #df7214); transform-origin: bottom; border-bottom: 10px solid #00000055; }
.tree .shadow { position: absolute; top: 0; left: 0; width: 150px; height: 150px; background-color: #0002; transform-style: preserve-3d; transform: rotateX(90deg) translateZ(-280px); filter: blur(10px); }
|