返回 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 * { margin: 0; padding: 0; box-sizing: border-box; }
8 html, body { width: 1600px; height: 900px; overflow: hidden; font-family:"Songti SC","Noto Serif SC","SimSun",serif; }
9 .canvas {
10 width: 1600px; height: 900px; position: relative; color: #FFFFFF;
11 background:
12 linear-gradient(125deg, #0A2E5C 0%, #0A2E5C 48%, #2A3A5C 50%, #8A5030 52%, #FF8C42 54%, #FF8C42 100%);
13 overflow: hidden;
14 }
15
16 /* 星河半边星点 */
17 .stars { position: absolute; top:0; left:0; width: 60%; height: 70%; }
18 /* 烟火半边粒子 */
19 .firework-particles { position: absolute; right: 0; bottom: 0; width: 55%; height: 75%; }
20
21 /* 对角柔光 */
22 .soft-glow {
23 position: absolute; top: 30%; left: 35%; width: 30%; height: 40%;
24 background: radial-gradient(ellipse, rgba(255,215,0,0.15) 0%, transparent 70%);
25 filter: blur(20px);
26 }
27
28 /* 月亮(星河侧) */
29 .moon {
30 position: absolute; top: 90px; left: 180px;
31 width: 90px; height: 90px; border-radius: 50%;
32 background: radial-gradient(circle at 35% 35%, #FFFFFF 0%, #FFF3D6 60%, #4A90E2 100%);
33 box-shadow: 0 0 50px rgba(255,255,255,0.4);
34 }
35
36 /* 烟火圆心(烟火侧) */
37 .fire-core {
38 position: absolute; bottom: 200px; right: 240px;
39 width: 16px; height: 16px; border-radius: 50%;
40 background: radial-gradient(circle, #FFFFFF 0%, #FFD700 50%, #FF8C42 100%);
41 box-shadow: 0 0 40px rgba(255,215,0,0.8);
42 }
43
44 /* 标签 */
45 .tag {
46 position: absolute; top: 70px; left: 50%; transform: translateX(-50%); z-index: 6;
47 font-size: 15px; letter-spacing: 8px; font-weight: 600;
48 color: #FFF3D6; text-shadow: 0 1px 4px rgba(0,0,0,0.5);
49 font-family:"Helvetica Neue",sans-serif;
50 }
51 .tag::before, .tag::after { content:""; display:inline-block; width:30px; height:1px; background:#FFD700; vertical-align:middle; margin:0 14px;}
52
53 /* 主标题(跨对角居中) */
54 .title {
55 position: absolute; top: 200px; left: 50%; transform: translateX(-50%); z-index: 6;
56 text-align: center;
57 }
58 .main-title {
59 font-size: 96px; font-weight: 700; line-height: 1.15;
60 letter-spacing: 12px; color: #FFFFFF;
61 text-shadow: 0 2px 12px rgba(0,0,0,0.5);
62 }
63 .main-title .blue { color: #B8D4F0; }
64 .main-title .orange { color: #FFD700; }
65 .sub-title {
66 font-size: 24px; color: #FFF3D6; letter-spacing: 10px;
67 margin-top: 26px; font-weight: 300; font-family:"STKaiti",serif;
68 text-shadow: 0 1px 6px rgba(0,0,0,0.4);
69 }
70
71 /* 剪影 */
72 .silhouette {
73 position: absolute; bottom: 80px; z-index: 5;
74 }
75 .sil1 { left: 38%; }
76 .sil2 { left: 56%; }
77
78 /* 左下引文 */
79 .quote-l {
80 position: absolute; left: 80px; bottom: 120px; z-index: 6;
81 width: 320px; font-size: 18px; line-height: 1.9;
82 color: #B8D4F0; letter-spacing: 2px; font-weight: 300;
83 font-family:"Songti SC",serif;
84 }
85 .quote-l .em { color: #FFD700; }
86
87 /* 右下引文 */
88 .quote-r {
89 position: absolute; right: 80px; bottom: 120px; z-index: 6;
90 width: 320px; font-size: 18px; line-height: 1.9; text-align: right;
91 color: #FFF3D6; letter-spacing: 2px; font-weight: 300;
92 font-family:"Songti SC",serif;
93 }
94 .quote-r .em { color: #FFD700; }
95
96 /* 底部 */
97 .footer {
98 position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); z-index:6;
99 font-size: 13px; color: #FFF3D6; letter-spacing: 5px; opacity: 0.7;
100 font-family:"Helvetica Neue",sans-serif;
101 }
102 </style>
103 </head>
104 <body>
105 <div class="canvas">
106 <!-- 星点 -->
107 <svg class="stars" viewBox="0 0 960 630" preserveAspectRatio="none">
108 <g fill="#FFFFFF">
109 <circle cx="80" cy="100" r="1.5" opacity="0.9"/>
110 <circle cx="220" cy="60" r="1" opacity="0.7"/>
111 <circle cx="360" cy="140" r="2" opacity="0.95"/>
112 <circle cx="140" cy="240" r="1" opacity="0.6"/>
113 <circle cx="300" cy="320" r="1.5" opacity="0.85"/>
114 <circle cx="460" cy="220" r="1" opacity="0.7"/>
115 <circle cx="200" cy="420" r="2" opacity="0.9"/>
116 <circle cx="80" cy="520" r="1" opacity="0.6"/>
117 <circle cx="520" cy="120" r="1.5" opacity="0.8"/>
118 <circle cx="600" cy="280" r="1" opacity="0.6"/>
119 <circle cx="380" cy="500" r="1" opacity="0.5"/>
120 </g>
121 <g fill="#4A90E2">
122 <circle cx="160" cy="180" r="2.5" opacity="0.9"/>
123 <circle cx="420" cy="380" r="2" opacity="0.8"/>
124 </g>
125 <g fill="#FFD700">
126 <circle cx="280" cy="120" r="2" opacity="0.9"/>
127 <circle cx="500" cy="440" r="2.5" opacity="0.85"/>
128 </g>
129 </svg>
130
131 <!-- 烟火粒子 -->
132 <svg class="firework-particles" viewBox="0 0 880 675" preserveAspectRatio="none">
133 <g stroke="#FFD700" stroke-width="1.5" fill="none" opacity="0.8">
134 <line x1="600" y1="300" x2="600" y2="220"/>
135 <line x1="600" y1="300" x2="660" y2="240"/>
136 <line x1="600" y1="300" x2="700" y2="300"/>
137 <line x1="600" y1="300" x2="660" y2="360"/>
138 <line x1="600" y1="300" x2="600" y2="380"/>
139 <line x1="600" y1="300" x2="540" y2="360"/>
140 <line x1="600" y1="300" x2="500" y2="300"/>
141 <line x1="600" y1="300" x2="540" y2="240"/>
142 </g>
143 <g fill="#FFA500">
144 <circle cx="600" cy="220" r="3"/><circle cx="660" cy="240" r="3"/>
145 <circle cx="700" cy="300" r="3"/><circle cx="660" cy="360" r="3"/>
146 <circle cx="600" cy="380" r="3"/><circle cx="540" cy="360" r="3"/>
147 <circle cx="500" cy="300" r="3"/><circle cx="540" cy="240" r="3"/>
148 </g>
149 <g fill="#FFD700" opacity="0.7">
150 <circle cx="780" cy="180" r="2"/><circle cx="820" cy="220" r="1.5"/>
151 <circle cx="760" cy="440" r="2"/><circle cx="820" cy="480" r="1.5"/>
152 <circle cx="680" cy="540" r="2"/>
153 </g>
154 </svg>
155
156 <div class="soft-glow"></div>
157 <div class="moon"></div>
158 <div class="fire-core"></div>
159
160 <div class="tag">HALF STARRY RIVER · HALF FIREWORKS</div>
161
162 <div class="title">
163 <div class="main-title">一半<span class="blue">星河</span> · 一半<span class="orange">烟火</span></div>
164 <div class="sub-title">仰望永恒 · 拥抱绚烂</div>
165 </div>
166
167 <!-- 剪影 -->
168 <svg class="silhouette sil1" width="80" height="200" viewBox="0 0 80 200">
169 <path d="M40,200 L40,120 Q30,100 32,80 Q34,55 40,50 Q46,55 48,80 Q50,100 40,120 L42,200 Z M32,80 Q20,90 18,110" fill="#000000" opacity="0.9"/>
170 <circle cx="40" cy="40" r="12" fill="#000000" opacity="0.9"/>
171 </svg>
172 <svg class="silhouette sil2" width="70" height="180" viewBox="0 0 70 180">
173 <path d="M35,180 L35,110 Q28,95 30,78 Q32,58 35,54 Q38,58 40,78 Q42,95 35,110 L37,180 Z" fill="#000000" opacity="0.9"/>
174 <circle cx="35" cy="44" r="10" fill="#000000" opacity="0.9"/>
175 </svg>
176
177 <div class="quote-l">
178 星河滚烫,<br>
179 是<span class="em">永恒</span>的寂静,<br>
180 照亮每一个仰望的夜。
181 </div>
182
183 <div class="quote-r">
184 人间烟火,<br>
185 是<span class="em">瞬间</span>的绚烂,<br>
186 温暖每一个归家的人。
187 </div>
188
189 <div class="footer">STARLIGHT FIREWORKS · VOL. 14 · 一半星河一半烟火</div>
190 </div>
191 </body>
192 </html>
193
193 lines HTML