返回 oh-my-ppt
preview.html
根目录 / resources / styles / gruvbox-dark / 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>Gruvbox 暗 · gruvbox-dark</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:#ebdbb2;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: #282828;
19 box-shadow: 0 0 0 1px rgba(254,128,25,.1), 0 0 60px rgba(254,128,25,.04);
20 }
21
22 /* Warm amber glow top-right */
23 .slide::before {
24 content: "";
25 position: absolute;
26 top: -10%; right: -5%;
27 width: 45%; height: 55%;
28 background: radial-gradient(circle, rgba(254,128,25,.08) 0%, transparent 65%);
29 pointer-events: none;
30 }
31
32 /* Green glow bottom-left */
33 .slide::after {
34 content: "";
35 position: absolute;
36 bottom: -10%; left: -5%;
37 width: 40%; height: 45%;
38 background: radial-gradient(circle, rgba(184,187,38,.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: #fe8019;
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: #ebdbb2;
72 text-shadow: 0 0 30px rgba(254,128,25,.1);
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(235,219,178,.65);
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(254,128,25,.2);
92 background: rgba(254,128,25,.06);
93 border-radius: 6px;
94 padding: 4px 10px;
95 font-size: clamp(7px, .85vw, 10px);
96 font-weight: 600;
97 color: rgba(235,219,178,.8);
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 #fe8019;
108 padding-left: 8px;
109 font-size: clamp(8px, .95vw, 11px);
110 line-height: 1.5;
111 color: rgba(235,219,178,.55);
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(235,219,178,.45);
122 border-bottom: 1px solid rgba(254,128,25,.15);
123 padding-bottom: 2px;
124 }
125
126 /* Right panel - terminal vim style */
127 .panel {
128 position: relative;
129 overflow: hidden;
130 border: 1px solid rgba(254,128,25,.12);
131 border-radius: 10px;
132 background: rgba(40,40,40,.65);
133 backdrop-filter: blur(12px);
134 padding: 6%;
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: 4px;
144 background: linear-gradient(90deg, #fe8019, #b8bb26);
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: #fe8019;
153 }
154
155 .layout {
156 font-size: clamp(9px, 1.05vw, 13px);
157 line-height: 1.6;
158 color: rgba(235,219,178,.6);
159 }
160
161 /* Vim status bar decoration */
162 .visual {
163 position: relative;
164 min-height: 0;
165 border: 1px solid rgba(254,128,25,.1);
166 border-radius: 8px;
167 overflow: hidden;
168 background: rgba(0,0,0,.3);
169 }
170
171 .vim-content {
172 position: absolute;
173 inset: 8%;
174 display: flex;
175 flex-direction: column;
176 justify-content: space-between;
177 font-family: "SFMono-Regular", "Consolas", "Menlo", monospace;
178 }
179 .vim-lines {
180 font-size: clamp(7px, .95vw, 12px);
181 line-height: 1.8;
182 color: rgba(235,219,178,.6);
183 }
184 .vim-lines .line-num { color: rgba(235,219,178,.3); display: inline-block; width: 15% }
185 .vim-lines .keyword { color: #fe8019 }
186 .vim-lines .string { color: #b8bb26 }
187 .vim-lines .comment { color: rgba(235,219,178,.35) }
188
189 .vim-status {
190 position: absolute;
191 left: 0; right: 0; bottom: 0;
192 height: 22%;
193 background: #fe8019;
194 display: flex;
195 align-items: center;
196 justify-content: space-between;
197 padding: 0 5%;
198 font-size: clamp(7px, .85vw, 10px);
199 font-weight: 700;
200 color: #282828;
201 }
202
203 .palette {
204 display: flex;
205 gap: 7px;
206 }
207 .palette i {
208 display: block;
209 width: clamp(14px, 2vw, 22px);
210 height: clamp(14px, 2vw, 22px);
211 border-radius: 50%;
212 background: var(--c);
213 border: 1px solid rgba(255,255,255,.08);
214 box-shadow: 0 0 8px var(--c);
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(235,219,178,.35);
228 letter-spacing: .08em;
229 text-transform: uppercase;
230 }
231 .footer b { color: rgba(235,219,178,.7) }
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="Gruvbox 暗 style preview">
239 <section class="content">
240 <div class="hero">
241 <div>
242 <div class="eyebrow">冷色 · 深色 · gruvbox-dark</div>
243 <h1>Gruvbox 暗</h1>
244 <p class="desc">琥珀与苔绿在暖灰中燃烧,终端美学从未如此温暖</p>
245 <div class="tags">
246 <span>Terminal/vim 社群分享</span>
247 <span>DevOps 技术演讲</span>
248 <span>命令行工具展示</span>
249 </div>
250 <div class="story">
251 <p>标题 #ebdbb2 暖白、正文 #d5c4a1 暖灰,强调色 #fe8019 琥珀橙与 #b8bb26 苔绿是暖色中的两种生命力。</p>
252 <p>等宽字体,终端感是核心美学。温暖的复古质感。</p>
253 </div>
254 </div>
255 <div class="chips">
256 <span>fade-up</span>
257 <span>stagger-list</span>
258 <span>typewriter</span>
259 </div>
260 </div>
261 <aside class="panel">
262 <div>
263 <div class="kicker">Style DNA</div>
264 <div class="layout">Gruvbox 暗色是终端美学的温暖版本——暖灰的底色不是冰冷的金属感,而是像一台老式收音机的木纹外壳。</div>
265 </div>
266 <div class="visual">
267 <div class="vim-content">
268 <div class="vim-lines">
269 <div><span class="line-num">1</span> <span class="keyword">set</span> background=dark</div>
270 <div><span class="line-num">2</span> <span class="keyword">colorscheme</span> gruvbox</div>
271 <div><span class="line-num">3</span> <span class="comment">" warm &amp; retro</span></div>
272 <div><span class="line-num">4</span> <span class="keyword">let</span> g:gruvbox_italic = <span class="string">1</span></div>
273 </div>
274 </div>
275 <div class="vim-status">
276 <span>gruvbox-dark</span>
277 <span>utf-8</span>
278 <span>4:1</span>
279 </div>
280 </div>
281 <div class="palette">
282 <i style="--c:#ebdbb2"></i>
283 <i style="--c:#d5c4a1"></i>
284 <i style="--c:#fe8019"></i>
285 <i style="--c:#b8bb26"></i>
286 <i style="--c:#282828"></i>
287 </div>
288 </aside>
289 </section>
290 <div class="footer">
291 <span><b>Layout</b> 暗色卡片浮在更暗的背景上,模拟终端的多面板布局。</span>
292 <span>16:9 preview</span>
293 </div>
294 </main>
295 </body>
296 </html>
297
297 lines HTML