返回 oh-my-ppt
preview.html
根目录 / resources / styles / memphis-pop / 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>孟菲斯波普 · Memphis Pop</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: #fef3c7;
18 box-shadow: 0 0 0 1px rgba(255,255,255,.08);
19 }
20
21 .shape { position: absolute; z-index: 1; }
22 .s-tri-1 {
23 top: 6%; right: 8%;
24 width: 0; height: 0;
25 border-left: clamp(18px, 3vw, 40px) solid transparent;
26 border-right: clamp(18px, 3vw, 40px) solid transparent;
27 border-bottom: clamp(30px, 5vw, 65px) solid #f59e0b;
28 transform: rotate(15deg);
29 }
30 .s-tri-2 {
31 bottom: 12%; left: 5%;
32 width: 0; height: 0;
33 border-left: clamp(14px, 2.2vw, 30px) solid transparent;
34 border-right: clamp(14px, 2.2vw, 30px) solid transparent;
35 border-bottom: clamp(24px, 3.8vw, 50px) solid #8b5cf6;
36 transform: rotate(-20deg);
37 }
38 .s-circ-1 {
39 top: 14%; left: 42%;
40 width: clamp(20px, 3.2vw, 42px); height: clamp(20px, 3.2vw, 42px);
41 border-radius: 50%; background: #8b5cf6; opacity: 0.7;
42 }
43 .s-circ-2 {
44 bottom: 8%; right: 18%;
45 width: clamp(14px, 2vw, 28px); height: clamp(14px, 2vw, 28px);
46 border-radius: 50%; background: #f59e0b; opacity: 0.6;
47 }
48 .s-circ-3 {
49 top: 50%; right: 6%;
50 width: clamp(10px, 1.6vw, 22px); height: clamp(10px, 1.6vw, 22px);
51 border-radius: 50%; background: #0f172a; opacity: 0.25;
52 }
53 .s-squiggle {
54 top: 22%; left: 6%;
55 width: clamp(60px, 10vw, 130px); height: clamp(10px, 1.5vw, 20px);
56 border-top: 3px solid #8b5cf6; border-right: 3px solid #8b5cf6;
57 border-radius: 0 50% 0 0; opacity: 0.6;
58 }
59 .s-squiggle2 {
60 bottom: 20%; right: 8%;
61 width: clamp(40px, 7vw, 90px); height: clamp(8px, 1.2vw, 16px);
62 border-bottom: 3px solid #f59e0b; border-left: 3px solid #f59e0b;
63 border-radius: 0 0 0 50%; opacity: 0.6;
64 }
65 .s-rect {
66 top: 8%; left: 10%;
67 width: clamp(16px, 2.5vw, 34px); height: clamp(16px, 2.5vw, 34px);
68 background: #f59e0b; transform: rotate(30deg); opacity: 0.55;
69 }
70 .s-cross {
71 top: 65%; left: 50%;
72 width: clamp(20px, 3vw, 38px); height: clamp(20px, 3vw, 38px);
73 position: absolute;
74 }
75 .s-cross::before, .s-cross::after {
76 content: ''; position: absolute; background: #8b5cf6; opacity: 0.4;
77 }
78 .s-cross::before {
79 width: 100%; height: 3px; top: 50%; left: 0; transform: translateY(-50%);
80 }
81 .s-cross::after {
82 width: 3px; height: 100%; left: 50%; top: 0; transform: translateX(-50%);
83 }
84
85 .zigzag {
86 position: absolute; top: 0; left: 0; right: 0;
87 height: clamp(8px, 1.2vw, 16px); z-index: 2;
88 background: repeating-linear-gradient(90deg,
89 #f59e0b 0px, #f59e0b clamp(6px, 1vw, 14px),
90 #8b5cf6 clamp(6px, 1vw, 14px), #8b5cf6 clamp(12px, 2vw, 28px)
91 );
92 clip-path: polygon(0 100%, 5% 0, 10% 100%, 15% 0, 20% 100%, 25% 0, 30% 100%, 35% 0, 40% 100%, 45% 0, 50% 100%, 55% 0, 60% 100%, 65% 0, 70% 100%, 75% 0, 80% 100%, 85% 0, 90% 100%, 95% 0, 100% 100%);
93 }
94 .zigzag-bottom {
95 position: absolute; bottom: 0; left: 0; right: 0;
96 height: clamp(8px, 1.2vw, 16px); z-index: 2;
97 background: repeating-linear-gradient(90deg,
98 #8b5cf6 0px, #8b5cf6 clamp(6px, 1vw, 14px),
99 #f59e0b clamp(6px, 1vw, 14px), #f59e0b clamp(12px, 2vw, 28px)
100 );
101 clip-path: polygon(0 0, 5% 100%, 10% 0, 15% 100%, 20% 0, 25% 100%, 30% 0, 35% 100%, 40% 0, 45% 100%, 50% 0, 55% 100%, 60% 0, 65% 100%, 70% 0, 75% 100%, 80% 0, 85% 100%, 90% 0, 95% 100%, 100% 0);
102 }
103
104 .content {
105 position: absolute;
106 inset: clamp(20px, 3.5vw, 48px);
107 z-index: 3;
108 display: grid;
109 grid-template-columns: 1.1fr 0.9fr;
110 gap: clamp(12px, 2vw, 28px);
111 align-items: center;
112 }
113 .hero { display: flex; flex-direction: column; gap: clamp(6px, 1vw, 14px); }
114 .eyebrow {
115 font-size: clamp(6px, 0.8vw, 10px);
116 font-weight: 800; letter-spacing: 0.18em;
117 text-transform: uppercase; color: #8b5cf6;
118 }
119 h1 {
120 font-size: clamp(26px, 4.8vw, 56px);
121 line-height: 0.95; font-weight: 900; color: #0f172a;
122 }
123 .desc {
124 font-size: clamp(8px, 1.1vw, 14px);
125 line-height: 1.6; color: #374151; max-width: 90%;
126 }
127 .tags { display: flex; flex-wrap: wrap; gap: clamp(3px, 0.4vw, 6px); }
128 .tags span {
129 font-size: clamp(6px, 0.7vw, 9px); font-weight: 700;
130 padding: clamp(2px, 0.3vw, 4px) clamp(5px, 0.6vw, 8px);
131 background: #0f172a; color: #fef3c7;
132 }
133 .info-card {
134 background: rgba(255,255,255,0.85);
135 border: 3px solid #0f172a;
136 padding: clamp(10px, 1.6vw, 22px);
137 box-shadow: clamp(4px, 0.6vw, 8px) clamp(4px, 0.6vw, 8px) 0 #8b5cf6;
138 }
139 .card-label {
140 font-size: clamp(7px, 0.85vw, 11px); font-weight: 900;
141 letter-spacing: 0.12em; text-transform: uppercase;
142 color: #f59e0b; margin-bottom: clamp(4px, 0.6vw, 8px);
143 }
144 .card-text {
145 font-size: clamp(7px, 0.9vw, 12px); line-height: 1.55; color: #374151;
146 }
147 .palette { display: flex; gap: clamp(4px, 0.5vw, 8px); margin-top: clamp(6px, 1vw, 14px); }
148 .palette i {
149 display: block; width: clamp(14px, 2vw, 26px); height: clamp(14px, 2vw, 26px);
150 border-radius: 50%; background: var(--c); border: 2px solid #0f172a;
151 }
152 .transition-note {
153 font-size: clamp(6px, 0.7vw, 9px);
154 color: #374151; opacity: 0.6; margin-top: clamp(4px, 0.5vw, 8px);
155 }
156
157 @media (max-aspect-ratio: 16/9) { .slide { width: min(100vw, calc(100vh * 16 / 9)); height: auto; } }
158 @media (min-aspect-ratio: 16/9) { .slide { height: min(100vh, calc(100vw * 9 / 16)); width: auto; } }
159 </style>
160 </head>
161 <body>
162 <main class="slide" aria-label="孟菲斯波普 style preview">
163 <div class="zigzag"></div>
164 <div class="shape s-tri-1"></div>
165 <div class="shape s-tri-2"></div>
166 <div class="shape s-circ-1"></div>
167 <div class="shape s-circ-2"></div>
168 <div class="shape s-circ-3"></div>
169 <div class="shape s-squiggle"></div>
170 <div class="shape s-squiggle2"></div>
171 <div class="shape s-rect"></div>
172 <div class="shape s-cross"></div>
173 <section class="content">
174 <div class="hero">
175 <div class="eyebrow">大胆 · 宣言 · memphis-pop</div>
176 <h1>孟菲斯波普</h1>
177 <p class="desc">霓虹渐变洒满画布,孟菲斯派对永不散场</p>
178 <div class="tags"><span>年轻品牌发布</span><span>潮流合作</span><span>创意工作坊</span><span>毕业展示</span></div>
179 <p class="transition-note">zoom-pop / stagger-list / shimmer-sweep</p>
180 </div>
181 <div class="info-card">
182 <div class="card-label">Style DNA</div>
183 <p class="card-text">孟菲斯波普风格是一场色彩与几何的狂欢派对。粗犷无衬线字体,大字重,标题字号可以夸张到让排版本身成为装饰。不对称布局中穿插圆点、三角、锯齿线条。</p>
184 <div class="palette">
185 <i style="--c:#0f172a"></i>
186 <i style="--c:#374151"></i>
187 <i style="--c:#f59e0b"></i>
188 <i style="--c:#8b5cf6"></i>
189 <i style="--c:#fef3c7"></i>
190 </div>
191 </div>
192 </section>
193 <div class="zigzag-bottom"></div>
194 </main>
195 </body>
196 </html>
196 lines HTML