返回 oh-my-ppt
preview.html
根目录 / resources / styles / neo-brutalism / 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>新野兽派 · Neo Brutalism</title>
7 <style>
8 * { box-sizing: border-box; margin: 0; padding: 0; }
9 html, body { width: 100%; height: 100%; overflow: hidden; background: #0f1117; display: grid; place-items: center; }
10 body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
11
12 .slide {
13 position: relative;
14 width: min(100vw, calc(100vh * 16 / 9));
15 aspect-ratio: 16 / 9;
16 overflow: hidden;
17 background: #fff7ed;
18 box-shadow: 0 0 0 1px rgba(255,255,255,.08);
19 }
20
21 /* Large tilted background shape */
22 .bg-shape {
23 position: absolute;
24 border: 4px solid #0f172a;
25 z-index: 1;
26 }
27 .bg-rect-1 {
28 top: -5%;
29 right: -5%;
30 width: 55%;
31 height: 65%;
32 background: #f97316;
33 transform: rotate(-6deg);
34 box-shadow: 8px 8px 0 #0f172a;
35 }
36 .bg-rect-2 {
37 bottom: -5%;
38 left: 10%;
39 width: 40%;
40 height: 35%;
41 background: #ef4444;
42 transform: rotate(4deg);
43 box-shadow: 6px 6px 0 #0f172a;
44 }
45
46 .content {
47 position: absolute;
48 inset: 0;
49 z-index: 2;
50 display: flex;
51 flex-direction: column;
52 justify-content: center;
53 padding: clamp(16px, 3vw, 42px);
54 }
55
56 .top-bar {
57 display: flex;
58 justify-content: space-between;
59 align-items: center;
60 margin-bottom: clamp(8px, 1.2vw, 16px);
61 }
62 .eyebrow {
63 font-size: clamp(7px, 0.9vw, 11px);
64 font-weight: 900;
65 letter-spacing: 0.16em;
66 text-transform: uppercase;
67 color: #0f172a;
68 }
69 .badge {
70 font-size: clamp(7px, 0.8vw, 10px);
71 font-weight: 900;
72 letter-spacing: 0.1em;
73 text-transform: uppercase;
74 padding: clamp(3px, 0.4vw, 6px) clamp(8px, 1vw, 14px);
75 background: #0f172a;
76 color: #f97316;
77 border: 3px solid #0f172a;
78 box-shadow: 4px 4px 0 #ef4444;
79 }
80
81 .title-block {
82 display: inline-block;
83 margin-bottom: clamp(8px, 1.2vw, 18px);
84 }
85 h1 {
86 font-size: clamp(32px, 5.8vw, 68px);
87 line-height: 0.92;
88 font-weight: 900;
89 color: #0f172a;
90 letter-spacing: -0.03em;
91 display: inline;
92 background: #fff7ed;
93 padding: clamp(4px, 0.5vw, 8px) clamp(8px, 1vw, 14px);
94 border: 4px solid #0f172a;
95 box-shadow: 6px 6px 0 #f97316;
96 }
97
98 .desc {
99 font-size: clamp(9px, 1.2vw, 15px);
100 line-height: 1.65;
101 color: #1e293b;
102 max-width: 65%;
103 margin-bottom: clamp(8px, 1.2vw, 16px);
104 font-weight: 500;
105 }
106
107 .bottom-row {
108 display: flex;
109 gap: clamp(8px, 1.2vw, 16px);
110 align-items: flex-end;
111 }
112 .tag-card {
113 padding: clamp(6px, 0.9vw, 12px) clamp(8px, 1.2vw, 16px);
114 background: #fff7ed;
115 border: 3px solid #0f172a;
116 box-shadow: 4px 4px 0 #0f172a;
117 font-size: clamp(7px, 0.85vw, 11px);
118 font-weight: 700;
119 color: #0f172a;
120 transform: rotate(-1deg);
121 }
122 .tag-card:nth-child(2) { transform: rotate(1.5deg); box-shadow: 4px 4px 0 #ef4444; }
123 .tag-card:nth-child(3) { transform: rotate(-0.5deg); }
124 .tag-card:nth-child(4) { transform: rotate(2deg); box-shadow: 4px 4px 0 #f97316; }
125
126 .palette-row {
127 display: flex;
128 gap: clamp(4px, 0.5vw, 8px);
129 margin-left: auto;
130 }
131 .palette-row i {
132 display: block;
133 width: clamp(16px, 2.2vw, 28px);
134 height: clamp(16px, 2.2vw, 28px);
135 background: var(--c);
136 border: 3px solid #0f172a;
137 transform: rotate(var(--r, 0deg));
138 }
139
140 .info-strip {
141 margin-top: clamp(6px, 1vw, 14px);
142 padding: clamp(5px, 0.7vw, 10px) clamp(8px, 1.2vw, 16px);
143 background: #0f172a;
144 color: #fff7ed;
145 font-size: clamp(6px, 0.75vw, 10px);
146 font-weight: 700;
147 letter-spacing: 0.08em;
148 text-transform: uppercase;
149 border: 3px solid #0f172a;
150 display: flex;
151 justify-content: space-between;
152 align-items: center;
153 }
154 .info-strip span { opacity: 0.6; }
155
156 @media (max-aspect-ratio: 16/9) { .slide { width: min(100vw, calc(100vh * 16 / 9)); height: auto; } }
157 @media (min-aspect-ratio: 16/9) { .slide { height: min(100vh, calc(100vw * 9 / 16)); width: auto; } }
158 </style>
159 </head>
160 <body>
161 <main class="slide" aria-label="新野兽派 style preview">
162 <div class="bg-shape bg-rect-1"></div>
163 <div class="bg-shape bg-rect-2"></div>
164 <section class="content">
165 <div class="top-bar">
166 <div class="eyebrow">大胆 · 宣言 · neo-brutalism</div>
167 <div class="badge">Style DNA</div>
168 </div>
169 <div class="title-block">
170 <h1>新野兽派</h1>
171 </div>
172 <p class="desc">粗线条硬阴影,用不妥协的姿态说出你的观点。新野兽派是设计界的朋克摇滚——厚重的黑色描边、棱角分明的硬阴影、暖色画布上毫不妥协的姿态。</p>
173 <div class="bottom-row">
174 <div class="tag-card">创业路演</div>
175 <div class="tag-card">创意比稿</div>
176 <div class="tag-card">反叛精神演讲</div>
177 <div class="tag-card">年轻品牌发声</div>
178 <div class="palette-row">
179 <i style="--c:#0f172a; --r:3deg"></i>
180 <i style="--c:#1e293b; --r:-2deg"></i>
181 <i style="--c:#f97316; --r:1deg"></i>
182 <i style="--c:#ef4444; --r:-4deg"></i>
183 <i style="--c:#fff7ed; --r:2deg"></i>
184 </div>
185 </div>
186 <div class="info-strip">
187 <span>Layout: 卡片排列大胆且不规则,允许重叠和偏移</span>
188 <span>glitch-in / drop-in / card-flip-3d</span>
189 <span>16:9 preview</span>
190 </div>
191 </section>
192 </main>
193 </body>
194 </html>
195
195 lines HTML