| 1 | <!DOCTYPE html> |
| 2 | <html lang="zh-CN"> |
| 3 | <head> |
| 4 | <meta charset="UTF-8" /> |
| 5 | <title>山野葱郁</title> |
| 6 | <style> |
| 7 | * { box-sizing: border-box; margin: 0; padding: 0; } |
| 8 | html, body { width: 100%; height: 100%; overflow: hidden; } |
| 9 | body { |
| 10 | display: grid; |
| 11 | place-items: center; |
| 12 | font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Songti SC", sans-serif; |
| 13 | } |
| 14 | .slide { |
| 15 | position: relative; |
| 16 | aspect-ratio: 16 / 9; |
| 17 | width: min(100vw, calc(100vh * 16 / 9)); |
| 18 | overflow: hidden; |
| 19 | background: linear-gradient(180deg, #CFDFCC 0%, #B8D4C8 12%, #4A8B5A 20%, #3E7228 45%, #5C9A33 58%, #ECCB2D 78%, #EFE32C 100%); |
| 20 | color: #FFFFFF; |
| 21 | } |
| 22 | /* 远山层(深绿) */ |
| 23 | .mtn-far { |
| 24 | position: absolute; |
| 25 | top: 14%; |
| 26 | left: -5%; right: -5%; |
| 27 | height: 30%; |
| 28 | background: #3E7228; |
| 29 | clip-path: polygon(0 100%, 8% 55%, 18% 72%, 28% 40%, 38% 65%, 48% 35%, 58% 60%, 68% 30%, 78% 58%, 88% 42%, 96% 62%, 100% 50%, 100% 100%); |
| 30 | opacity: 0.92; |
| 31 | } |
| 32 | /* 中山层(浅绿过渡) */ |
| 33 | .mtn-mid { |
| 34 | position: absolute; |
| 35 | top: 26%; |
| 36 | left: -5%; right: -5%; |
| 37 | height: 28%; |
| 38 | background: #408F77; |
| 39 | clip-path: polygon(0 100%, 6% 60%, 15% 78%, 25% 50%, 36% 70%, 46% 45%, 56% 68%, 66% 40%, 76% 65%, 86% 52%, 94% 70%, 100% 58%, 100% 100%); |
| 40 | opacity: 0.85; |
| 41 | } |
| 42 | /* 草地亮部光晕 */ |
| 43 | .grass-glow { |
| 44 | position: absolute; |
| 45 | bottom: 0; |
| 46 | left: 0; right: 0; |
| 47 | height: 35%; |
| 48 | background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(255,240,120,0.45) 0%, transparent 70%); |
| 49 | } |
| 50 | /* 草叶纹理 */ |
| 51 | .blade { |
| 52 | position: absolute; |
| 53 | bottom: 8%; |
| 54 | width: 2px; |
| 55 | background: #5C9A33; |
| 56 | opacity: 0.4; |
| 57 | } |
| 58 | |
| 59 | /* 奔跑小孩背影(两个) */ |
| 60 | .kid { |
| 61 | position: absolute; |
| 62 | bottom: 16%; |
| 63 | width: clamp(20px, 2.4vw, 36px); |
| 64 | } |
| 65 | .kid .head { |
| 66 | width: 60%; aspect-ratio: 1; |
| 67 | background: #E8C9A0; |
| 68 | border-radius: 50%; |
| 69 | margin: 0 auto; |
| 70 | } |
| 71 | .kid .body { |
| 72 | width: 80%; |
| 73 | height: clamp(20px, 2.6vw, 40px); |
| 74 | background: #FFFFFF; |
| 75 | border-radius: 8px 8px 4px 4px; |
| 76 | margin: 2px auto 0; |
| 77 | position: relative; |
| 78 | } |
| 79 | .kid .body::before, .kid .body::after { |
| 80 | content: ""; position: absolute; bottom: -2px; |
| 81 | width: 4px; height: 14px; |
| 82 | background: #2C3E50; |
| 83 | border-radius: 2px; |
| 84 | } |
| 85 | .kid .body::before { left: 18%; transform: rotate(12deg); } |
| 86 | .kid .body::after { right: 18%; transform: rotate(-12deg); } |
| 87 | .k1 { left: 42%; } |
| 88 | .k2 { left: 52%; transform: scale(0.88); } |
| 89 | |
| 90 | /* 大标题"夏天" */ |
| 91 | .title-wrap { |
| 92 | position: absolute; |
| 93 | top: 30%; |
| 94 | left: 50%; |
| 95 | transform: translate(-50%, -50%); |
| 96 | text-align: center; |
| 97 | z-index: 3; |
| 98 | } |
| 99 | .title { |
| 100 | font-family: "Snell Roundhand", "Bradley Hand", "STKaiti", "KaiTi", cursive; |
| 101 | font-size: clamp(72px, 13vw, 180px); |
| 102 | font-weight: 800; |
| 103 | color: #FFFFFF; |
| 104 | letter-spacing: 0.08em; |
| 105 | line-height: 0.95; |
| 106 | text-shadow: 0 4px 18px rgba(0,0,0,0.28), 0 2px 0 rgba(0,0,0,0.12); |
| 107 | } |
| 108 | .title-en { |
| 109 | font-family: "Snell Roundhand", "Bradley Hand", cursive; |
| 110 | font-style: italic; |
| 111 | font-size: clamp(14px, 1.8vw, 28px); |
| 112 | color: #FFFFFF; |
| 113 | opacity: 0.85; |
| 114 | letter-spacing: 0.2em; |
| 115 | margin-top: 6px; |
| 116 | } |
| 117 | |
| 118 | /* 竖排诗句(左) */ |
| 119 | .poem-left { |
| 120 | position: absolute; |
| 121 | top: 16%; |
| 122 | left: 5%; |
| 123 | writing-mode: vertical-rl; |
| 124 | font-family: "Songti SC", "STSong", "KaiTi", serif; |
| 125 | font-size: clamp(11px, 1.25vw, 19px); |
| 126 | font-weight: 400; |
| 127 | color: #FFFFFF; |
| 128 | opacity: 0.82; |
| 129 | letter-spacing: 0.34em; |
| 130 | line-height: 2; |
| 131 | text-shadow: 0 1px 4px rgba(0,0,0,0.2); |
| 132 | } |
| 133 | /* 竖排诗句(右) */ |
| 134 | .poem-right { |
| 135 | position: absolute; |
| 136 | top: 56%; |
| 137 | right: 6%; |
| 138 | writing-mode: vertical-rl; |
| 139 | font-family: "Songti SC", "STSong", "KaiTi", serif; |
| 140 | font-size: clamp(10px, 1.1vw, 17px); |
| 141 | font-weight: 300; |
| 142 | color: #3E7228; |
| 143 | opacity: 0.75; |
| 144 | letter-spacing: 0.3em; |
| 145 | line-height: 2; |
| 146 | max-height: 30%; |
| 147 | } |
| 148 | |
| 149 | /* 底部色卡 */ |
| 150 | .palette { |
| 151 | position: absolute; |
| 152 | left: 5%; |
| 153 | bottom: 5%; |
| 154 | display: flex; |
| 155 | gap: clamp(7px, 1vw, 14px); |
| 156 | z-index: 4; |
| 157 | } |
| 158 | .sw { |
| 159 | width: clamp(24px, 2.8vw, 42px); |
| 160 | aspect-ratio: 1; |
| 161 | border-radius: 50%; |
| 162 | box-shadow: 0 3px 8px rgba(40,60,30,0.22); |
| 163 | border: 2px solid rgba(255,255,255,0.75); |
| 164 | } |
| 165 | /* 签名 */ |
| 166 | .sign { |
| 167 | position: absolute; |
| 168 | right: 5%; |
| 169 | bottom: 6%; |
| 170 | color: #3E7228; |
| 171 | font-size: clamp(10px, 1vw, 15px); |
| 172 | letter-spacing: 0.24em; |
| 173 | opacity: 0.75; |
| 174 | font-weight: 500; |
| 175 | } |
| 176 | </style> |
| 177 | </head> |
| 178 | <body> |
| 179 | <div class="slide"> |
| 180 | <div class="mtn-far"></div> |
| 181 | <div class="mtn-mid"></div> |
| 182 | <div class="grass-glow"></div> |
| 183 | |
| 184 | <div class="kid k1"><div class="head"></div><div class="body"></div></div> |
| 185 | <div class="kid k2"><div class="head"></div><div class="body"></div></div> |
| 186 | |
| 187 | <div class="poem-left">时夏方长 盛夏将至</div> |
| 188 | <div class="poem-right">把夏天的橘子汽水 卖给颜料用完的梵高</div> |
| 189 | |
| 190 | <div class="title-wrap"> |
| 191 | <h1 class="title">夏天</h1> |
| 192 | <div class="title-en">summer · wild & free</div> |
| 193 | </div> |
| 194 | |
| 195 | <div class="palette"> |
| 196 | <div class="sw" style="background:#3E7228"></div> |
| 197 | <div class="sw" style="background:#408F77"></div> |
| 198 | <div class="sw" style="background:#ECCB2D"></div> |
| 199 | <div class="sw" style="background:#EFE32C"></div> |
| 200 | <div class="sw" style="background:#CFDFCC"></div> |
| 201 | </div> |
| 202 | |
| 203 | <div class="sign">色彩沉溺 · 夏的另一种可能</div> |
| 204 | </div> |
| 205 | </body> |
| 206 | </html> |
| 207 |