返回 oh-my-ppt
preview.html
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 &amp; 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
207 lines HTML