返回 oh-my-ppt
preview.html
根目录 / resources / styles / rose-pine / preview.html
1 <!DOCTYPE html>
2 <html lang="zh-CN">
3 <head>
4 <meta charset="UTF-8" />
5 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6 <title>玫瑰松 · rose-pine</title>
7 <style>
8 *{box-sizing:border-box;margin:0}
9 html,body{width:100%;height:100%;overflow:hidden}
10 html{display:grid;place-items:center;background:#0f1117}
11 body{display:grid;place-items:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#e0def4;background:#0f1117}
12
13 .slide {
14 position: relative;
15 width: min(100vw, calc(100vh * 16 / 9));
16 aspect-ratio: 16/9;
17 overflow: hidden;
18 background: #191724;
19 box-shadow: 0 0 0 1px rgba(235,111,146,.06), 0 0 80px rgba(49,116,143,.06);
20 }
21
22 /* Rose glow */
23 .slide::before {
24 content: "";
25 position: absolute;
26 top: -15%; right: -10%;
27 width: 50%; height: 55%;
28 background: radial-gradient(circle, rgba(235,111,146,.07) 0%, transparent 65%);
29 pointer-events: none;
30 }
31
32 /* Teal glow */
33 .slide::after {
34 content: "";
35 position: absolute;
36 bottom: -15%; left: -8%;
37 width: 45%; height: 50%;
38 background: radial-gradient(circle, rgba(49,116,143,.06) 0%, transparent 65%);
39 pointer-events: none;
40 }
41
42 .content {
43 position: absolute;
44 inset: 8% 7%;
45 z-index: 2;
46 display: grid;
47 grid-template-columns: 1.1fr .9fr;
48 gap: 6%;
49 align-items: stretch;
50 }
51
52 .hero {
53 display: flex;
54 flex-direction: column;
55 justify-content: space-between;
56 }
57
58 .eyebrow {
59 font-size: clamp(7px, .95vw, 11px);
60 font-weight: 700;
61 letter-spacing: .15em;
62 text-transform: uppercase;
63 color: #eb6f92;
64 margin-bottom: 3%;
65 }
66
67 h1 {
68 font-size: clamp(32px, 5.5vw, 68px);
69 line-height: .92;
70 font-weight: 900;
71 color: #e0def4;
72 text-shadow: 0 0 40px rgba(235,111,146,.08);
73 letter-spacing: -.02em;
74 }
75
76 .desc {
77 margin-top: 4%;
78 font-size: clamp(10px, 1.35vw, 15px);
79 line-height: 1.7;
80 color: rgba(224,222,244,.6);
81 max-width: 92%;
82 }
83
84 .tags {
85 display: flex;
86 flex-wrap: wrap;
87 gap: 8px;
88 margin-top: 5%;
89 }
90 .tags span {
91 border: 1px solid rgba(235,111,146,.15);
92 background: rgba(235,111,146,.05);
93 border-radius: 6px;
94 padding: 4px 10px;
95 font-size: clamp(7px, .85vw, 10px);
96 font-weight: 600;
97 color: rgba(224,222,244,.75);
98 }
99
100 .story {
101 display: grid;
102 grid-template-columns: 1fr 1fr;
103 gap: 3%;
104 margin-top: 5%;
105 }
106 .story p {
107 border-left: 2px solid #eb6f92;
108 padding-left: 8px;
109 font-size: clamp(8px, .95vw, 11px);
110 line-height: 1.5;
111 color: rgba(224,222,244,.5);
112 }
113
114 .chips {
115 display: flex;
116 gap: 10px;
117 margin-top: 4%;
118 }
119 .chips span {
120 font-size: clamp(7px, .85vw, 10px);
121 color: rgba(224,222,244,.4);
122 border-bottom: 1px solid rgba(235,111,146,.12);
123 padding-bottom: 2px;
124 }
125
126 /* Right panel - botanical artistic */
127 .panel {
128 position: relative;
129 overflow: hidden;
130 border: 1px solid rgba(235,111,146,.1);
131 border-radius: 14px;
132 background: rgba(25,23,36,.65);
133 backdrop-filter: blur(12px);
134 padding: 7%;
135 display: grid;
136 grid-template-rows: auto 1fr auto;
137 gap: 5%;
138 }
139 .panel::before {
140 content: "";
141 position: absolute;
142 top: 0; left: 0; right: 0;
143 height: 3px;
144 background: linear-gradient(90deg, #eb6f92, #31748f);
145 }
146
147 .kicker {
148 font-size: clamp(8px, 1vw, 11px);
149 font-weight: 800;
150 letter-spacing: .12em;
151 text-transform: uppercase;
152 color: #908caa;
153 }
154
155 .layout {
156 font-size: clamp(9px, 1.05vw, 13px);
157 line-height: 1.6;
158 color: rgba(224,222,244,.55);
159 }
160
161 /* Botanical organic shapes */
162 .visual {
163 position: relative;
164 min-height: 0;
165 border: 1px solid rgba(235,111,146,.08);
166 border-radius: 12px;
167 overflow: hidden;
168 background: rgba(0,0,0,.2);
169 }
170
171 .organic {
172 position: absolute;
173 border-radius: 60% 40% 55% 45% / 45% 55% 40% 60%;
174 opacity: .25;
175 }
176 .o1 {
177 width: 50%; height: 55%;
178 left: -5%; top: -8%;
179 background: radial-gradient(circle, rgba(235,111,146,.25) 0%, transparent 70%);
180 }
181 .o2 {
182 width: 45%; height: 50%;
183 right: -3%; bottom: -5%;
184 background: radial-gradient(circle, rgba(49,116,143,.25) 0%, transparent 70%);
185 }
186 .o3 {
187 width: 30%; height: 35%;
188 left: 35%; top: 30%;
189 background: radial-gradient(circle, rgba(144,140,170,.15) 0%, transparent 70%);
190 }
191
192 .botanical-text {
193 position: absolute;
194 left: 14%; right: 14%;
195 top: 50%;
196 transform: translateY(-50%);
197 font-family: Georgia, "Songti SC", serif;
198 font-size: clamp(11px, 1.7vw, 19px);
199 line-height: 1.45;
200 color: rgba(224,222,244,.65);
201 text-align: center;
202 }
203
204 .palette {
205 display: flex;
206 gap: 7px;
207 }
208 .palette i {
209 display: block;
210 width: clamp(14px, 2vw, 22px);
211 height: clamp(14px, 2vw, 22px);
212 border-radius: 50%;
213 background: var(--c);
214 border: 1px solid rgba(255,255,255,.06);
215 }
216
217 .footer {
218 position: absolute;
219 left: 7%; right: 7%;
220 bottom: 4.5%;
221 z-index: 3;
222 display: flex;
223 align-items: center;
224 justify-content: space-between;
225 font-size: clamp(7px, .85vw, 10px);
226 font-weight: 700;
227 color: rgba(224,222,244,.3);
228 letter-spacing: .08em;
229 text-transform: uppercase;
230 }
231 .footer b { color: rgba(224,222,244,.6) }
232
233 @media(max-aspect-ratio:16/9){.slide{width:min(100vw,calc(100vh*16/9));height:auto}}
234 @media(min-aspect-ratio:16/9){.slide{height:min(100vh,calc(100vw*9/16));width:auto}}
235 </style>
236 </head>
237 <body>
238 <main class="slide" aria-label="玫瑰松 style preview">
239 <section class="content">
240 <div class="hero">
241 <div>
242 <div class="eyebrow">冷色 · 深色 · rose-pine</div>
243 <h1>玫瑰松</h1>
244 <p class="desc">暗紫森林里玫瑰静默绽放,设计感与代码温柔共存</p>
245 <div class="tags">
246 <span>设计技术交叉话题</span>
247 <span>审美向技术分享</span>
248 <span>创意编程展示</span>
249 <span>设计系统介绍</span>
250 </div>
251 <div class="story">
252 <p>标题 #e0def4 薰衣草白、正文 #908caa 柔灰紫,强调色 #eb6f92 玫瑰粉与 #31748f 松青是暗色中的两抹温柔。</p>
253 <p>人文无衬线或衬线字体,带一点手写的温度。</p>
254 </div>
255 </div>
256 <div class="chips">
257 <span>fade-up</span>
258 <span>stagger-list</span>
259 <span>shimmer-sweep</span>
260 </div>
261 </div>
262 <aside class="panel">
263 <div>
264 <div class="kicker">Style DNA</div>
265 <div class="layout">玫瑰松是暗紫森林里的一场静默绽放——深邃的紫黑底色如同暮色中的松林,玫瑰粉与青绿在其中轻柔地呼吸。</div>
266 </div>
267 <div class="visual">
268 <div class="organic o1"></div>
269 <div class="organic o2"></div>
270 <div class="organic o3"></div>
271 <div class="botanical-text">暗紫森林里玫瑰静默绽放,设计感与代码温柔共存</div>
272 </div>
273 <div class="palette">
274 <i style="--c:#e0def4"></i>
275 <i style="--c:#908caa"></i>
276 <i style="--c:#eb6f92"></i>
277 <i style="--c:#31748f"></i>
278 <i style="--c:#191724"></i>
279 </div>
280 </aside>
281 </section>
282 <div class="footer">
283 <span><b>Layout</b> 柔和的暗色布局,卡片边缘不锐利,留白是暗色的呼吸。</span>
284 <span>16:9 preview</span>
285 </div>
286 </main>
287 </body>
288 </html>
289
289 lines HTML