返回 Pixelle-Video
image_elegant.html
根目录 / templates / 1080x1920 / image_elegant.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <meta name="template:media-width" content="1024">
6 <meta name="template:media-height" content="1024">
7 <style>
8 html {
9 margin: 0;
10 padding: 0;
11 }
12
13 body {
14 margin: 0;
15 padding: 0;
16 width: 1080px;
17 background: #f5f7fa;
18 font-family: 'PingFang SC', 'Source Han Sans', 'Microsoft YaHei', sans-serif;
19 position: relative;
20 overflow: hidden;
21 }
22
23 .page-container {
24 width: 1080px;
25 height: 1920px;
26 padding: 80px 70px 75px 70px;
27 box-sizing: border-box;
28 display: flex;
29 flex-direction: column;
30 justify-content: space-between;
31 position: relative;
32 z-index: 1;
33 }
34
35 /* Background artistic elements */
36 .bg-decoration {
37 position: absolute;
38 top: 0;
39 left: 0;
40 width: 100%;
41 height: 100%;
42 z-index: 0;
43 overflow: hidden;
44 pointer-events: none;
45 }
46
47 /* Soft gradient orbs */
48 .orb-1 {
49 position: absolute;
50 width: 700px;
51 height: 700px;
52 border-radius: 50%;
53 background: radial-gradient(circle at 40% 40%, rgba(165, 180, 252, 0.45), transparent 70%);
54 top: -280px;
55 left: -250px;
56 filter: blur(80px);
57 }
58
59 .orb-2 {
60 position: absolute;
61 width: 550px;
62 height: 550px;
63 border-radius: 50%;
64 background: radial-gradient(circle at 60% 60%, rgba(244, 114, 182, 0.4), transparent 70%);
65 top: 40%;
66 right: -200px;
67 filter: blur(90px);
68 }
69
70 .orb-3 {
71 position: absolute;
72 width: 450px;
73 height: 450px;
74 border-radius: 50%;
75 background: radial-gradient(circle at 50% 50%, rgba(196, 181, 253, 0.42), transparent 70%);
76 bottom: -100px;
77 left: 20%;
78 filter: blur(70px);
79 }
80
81 /* Flowing wave lines */
82 .wave-line-1 {
83 position: absolute;
84 width: 800px;
85 height: 3px;
86 top: 18%;
87 left: -100px;
88 background: linear-gradient(90deg, transparent, rgba(165, 180, 252, 0.6), transparent);
89 border-radius: 10px;
90 transform: rotate(-8deg);
91 filter: blur(1px);
92 }
93
94 .wave-line-2 {
95 position: absolute;
96 width: 650px;
97 height: 2px;
98 top: 65%;
99 right: -80px;
100 background: linear-gradient(90deg, transparent, rgba(244, 114, 182, 0.55), transparent);
101 border-radius: 10px;
102 transform: rotate(12deg);
103 filter: blur(1px);
104 }
105
106 /* Minimal geometric shapes */
107 .geo-rect-1 {
108 position: absolute;
109 width: 180px;
110 height: 180px;
111 top: 25%;
112 right: 50px;
113 border: 2px solid rgba(165, 180, 252, 0.45);
114 border-radius: 50%;
115 transform: rotate(25deg);
116 }
117
118 .geo-rect-2 {
119 position: absolute;
120 width: 120px;
121 height: 120px;
122 bottom: 20%;
123 left: 80px;
124 border: 2px solid rgba(244, 114, 182, 0.4);
125 border-radius: 20px;
126 transform: rotate(-15deg);
127 }
128
129 /* Floating dots pattern */
130 .dot-cluster-1, .dot-cluster-2 {
131 position: absolute;
132 display: flex;
133 gap: 20px;
134 }
135
136 .dot-cluster-1 {
137 top: 12%;
138 left: 120px;
139 flex-direction: column;
140 }
141
142 .dot-cluster-2 {
143 bottom: 15%;
144 right: 100px;
145 flex-direction: row;
146 }
147
148 .floating-dot {
149 width: 8px;
150 height: 8px;
151 border-radius: 50%;
152 background: linear-gradient(135deg, rgba(165, 180, 252, 0.6), rgba(196, 181, 253, 0.5));
153 }
154
155 /* Header section with elegant typography */
156 .topic-wrapper {
157 position: relative;
158 text-align: center;
159 padding: 40px 0;
160 }
161
162 .topic-accent {
163 position: absolute;
164 top: 0;
165 left: 50%;
166 transform: translateX(-50%);
167 width: 150px;
168 height: 5px;
169 background: linear-gradient(90deg, transparent, rgba(165, 180, 252, 0.8), transparent);
170 border-radius: 10px;
171 }
172
173 .topic {
174 font-size: 78px;
175 font-weight: 700;
176 background: linear-gradient(135deg, #7c87f5 0%, #b87ef9 50%, #f06ba8 100%);
177 -webkit-background-clip: text;
178 -webkit-text-fill-color: transparent;
179 background-clip: text;
180 line-height: 1.25;
181 letter-spacing: 2px;
182 padding: 25px 0;
183 position: relative;
184 display: inline-block;
185 filter: drop-shadow(0 4px 20px rgba(165, 180, 252, 0.25));
186 }
187
188 .topic::before,
189 .topic::after {
190 content: '';
191 position: absolute;
192 width: 40px;
193 height: 40px;
194 border-radius: 50%;
195 background: linear-gradient(135deg, rgba(165, 180, 252, 0.5), rgba(196, 181, 253, 0.45));
196 }
197
198 .topic::before {
199 top: -15px;
200 left: -25px;
201 width: 25px;
202 height: 25px;
203 }
204
205 .topic::after {
206 bottom: -10px;
207 right: -20px;
208 width: 30px;
209 height: 30px;
210 }
211
212 /* Elegant image frame */
213 .image-wrapper {
214 position: relative;
215 padding: 25px;
216 }
217
218 .image-frame-bg {
219 position: absolute;
220 top: 0;
221 left: 0;
222 right: 0;
223 bottom: 0;
224 background: linear-gradient(135deg,
225 rgba(255, 255, 255, 0.65) 0%,
226 rgba(255, 255, 255, 0.45) 50%,
227 rgba(255, 255, 255, 0.55) 100%);
228 border-radius: 30px;
229 backdrop-filter: blur(20px);
230 z-index: 0;
231 }
232
233 .image-container {
234 width: 100%;
235 height: 900px;
236 display: flex;
237 align-items: center;
238 justify-content: center;
239 position: relative;
240 z-index: 1;
241 }
242
243 .image-container img {
244 width: 100%;
245 height: 100%;
246 border-radius: 22px;
247 object-fit: cover;
248 box-shadow: 0 25px 80px rgba(0, 0, 0, 0.12),
249 0 10px 30px rgba(165, 180, 252, 0.2);
250 }
251
252 /* Elegant corner accents */
253 .corner-accent {
254 position: absolute;
255 z-index: 2;
256 }
257
258 .corner-accent.tl {
259 top: 10px;
260 left: 10px;
261 width: 70px;
262 height: 70px;
263 border-top: 4px solid rgba(165, 180, 252, 0.8);
264 border-left: 4px solid rgba(165, 180, 252, 0.8);
265 border-radius: 22px 0 0 0;
266 }
267
268 .corner-accent.br {
269 bottom: 10px;
270 right: 10px;
271 width: 70px;
272 height: 70px;
273 border-bottom: 4px solid rgba(244, 114, 182, 0.75);
274 border-right: 4px solid rgba(244, 114, 182, 0.75);
275 border-radius: 0 0 22px 0;
276 }
277
278 .corner-accent.tr {
279 top: 10px;
280 right: 10px;
281 width: 40px;
282 height: 40px;
283 border-top: 3px solid rgba(196, 181, 253, 0.75);
284 border-right: 3px solid rgba(196, 181, 253, 0.75);
285 border-radius: 0 22px 0 0;
286 }
287
288 .corner-accent.bl {
289 bottom: 10px;
290 left: 10px;
291 width: 40px;
292 height: 40px;
293 border-bottom: 3px solid rgba(165, 180, 252, 0.75);
294 border-left: 3px solid rgba(165, 180, 252, 0.75);
295 border-radius: 0 0 0 22px;
296 }
297
298 /* Side minimal indicators */
299 .side-indicator {
300 position: absolute;
301 display: flex;
302 gap: 18px;
303 z-index: 2;
304 }
305
306 .side-indicator.left {
307 left: -15px;
308 top: 50%;
309 transform: translateY(-50%);
310 flex-direction: column;
311 }
312
313 .side-indicator.right {
314 right: -15px;
315 top: 50%;
316 transform: translateY(-50%);
317 flex-direction: column;
318 }
319
320 .indicator-dot {
321 width: 14px;
322 height: 14px;
323 border-radius: 50%;
324 background: linear-gradient(135deg, rgba(165, 180, 252, 0.7), rgba(196, 181, 253, 0.6));
325 box-shadow: 0 0 15px rgba(165, 180, 252, 0.5);
326 }
327
328 .indicator-dot.accent {
329 width: 18px;
330 height: 18px;
331 background: linear-gradient(135deg, rgba(244, 114, 182, 0.8), rgba(244, 114, 182, 0.7));
332 box-shadow: 0 0 20px rgba(244, 114, 182, 0.6);
333 }
334
335 /* Text section with elegant design */
336 .text-wrapper {
337 position: relative;
338 padding: 45px 0;
339 }
340
341 .text-bg {
342 position: absolute;
343 top: 0;
344 left: 50%;
345 transform: translateX(-50%);
346 width: 90%;
347 height: 100%;
348 background: linear-gradient(135deg,
349 rgba(255, 255, 255, 0.6) 0%,
350 rgba(255, 255, 255, 0.45) 50%,
351 rgba(255, 255, 255, 0.5) 100%);
352 border-radius: 30px;
353 backdrop-filter: blur(15px);
354 z-index: 0;
355 }
356
357 .text {
358 font-size: 48px;
359 color: #1e293b;
360 text-align: center;
361 line-height: 1.75;
362 padding: 40px 80px;
363 position: relative;
364 height: 237.6px;
365 display: flex;
366 align-items: center;
367 justify-content: center;
368 z-index: 1;
369 letter-spacing: 0.5px;
370 font-weight: 500;
371 }
372
373 /* Quote marks - elegant style */
374 .quote-mark {
375 position: absolute;
376 font-size: 120px;
377 font-weight: 700;
378 font-family: Georgia, serif;
379 opacity: 0.12;
380 line-height: 1;
381 z-index: 0;
382 }
383
384 .quote-mark.open {
385 top: 15px;
386 left: 50px;
387 color: #a5b4fc;
388 }
389
390 .quote-mark.close {
391 bottom: 15px;
392 right: 50px;
393 color: #f4a3c7;
394 }
395
396 /* Minimal side bars */
397 .text-accent-bar {
398 position: absolute;
399 width: 5px;
400 height: 140px;
401 top: 50%;
402 transform: translateY(-50%);
403 border-radius: 10px;
404 z-index: 1;
405 }
406
407 .text-accent-bar.left {
408 left: 35px;
409 background: linear-gradient(180deg,
410 rgba(165, 180, 252, 0.8) 0%,
411 rgba(165, 180, 252, 0.35) 100%);
412 }
413
414 .text-accent-bar.right {
415 right: 35px;
416 background: linear-gradient(180deg,
417 rgba(244, 114, 182, 0.75) 0%,
418 rgba(244, 114, 182, 0.35) 100%);
419 }
420
421 /* Footer with minimal design */
422 .footer {
423 display: flex;
424 align-items: center;
425 justify-content: space-between;
426 padding: 30px 15px;
427 position: relative;
428 }
429
430 .footer::before {
431 content: '';
432 position: absolute;
433 top: 0;
434 left: 0;
435 right: 0;
436 height: 2px;
437 background: linear-gradient(90deg,
438 rgba(165, 180, 252, 0.75) 0%,
439 rgba(196, 181, 253, 0.65) 50%,
440 rgba(244, 114, 182, 0.75) 100%);
441 border-radius: 10px;
442 }
443
444 .footer::after {
445 content: '';
446 position: absolute;
447 top: -3px;
448 left: 50%;
449 transform: translateX(-50%);
450 width: 200px;
451 height: 5px;
452 background: linear-gradient(90deg,
453 transparent,
454 rgba(165, 180, 252, 0.8),
455 transparent);
456 border-radius: 10px;
457 filter: blur(2px);
458 }
459
460 .author {
461 display: flex;
462 flex-direction: column;
463 gap: 10px;
464 }
465
466 .author-name {
467 font-size: 38px;
468 font-weight: 700;
469 background: linear-gradient(135deg, #8b96f7 0%, #c4a8fa 70%);
470 -webkit-background-clip: text;
471 -webkit-text-fill-color: transparent;
472 background-clip: text;
473 display: flex;
474 align-items: center;
475 gap: 12px;
476 }
477
478 .author-icon {
479 display: flex;
480 gap: 6px;
481 align-items: center;
482 }
483
484 .author-dot {
485 width: 10px;
486 height: 10px;
487 border-radius: 50%;
488 background: linear-gradient(135deg, rgba(165, 180, 252, 0.9), rgba(196, 181, 253, 0.8));
489 }
490
491 .author-dot.large {
492 width: 14px;
493 height: 14px;
494 }
495
496 .author-desc {
497 font-size: 27px;
498 color: #475569;
499 line-height: 1.4;
500 font-weight: 500;
501 }
502
503 .logo-wrapper {
504 display: flex;
505 flex-direction: column;
506 align-items: flex-end;
507 gap: 10px;
508 }
509
510 .logo {
511 font-size: 30px;
512 font-weight: 700;
513 background: linear-gradient(135deg, #f191bc 0%, #f8a7cb 100%);
514 -webkit-background-clip: text;
515 -webkit-text-fill-color: transparent;
516 background-clip: text;
517 letter-spacing: 1.5px;
518 position: relative;
519 padding-right: 22px;
520 }
521
522 .logo::after {
523 content: '';
524 position: absolute;
525 right: 0;
526 top: 50%;
527 transform: translateY(-50%);
528 width: 12px;
529 height: 12px;
530 border-radius: 50%;
531 background: linear-gradient(135deg, rgba(244, 114, 182, 0.9), rgba(244, 114, 182, 0.8));
532 box-shadow: 0 0 15px rgba(244, 114, 182, 0.7);
533 }
534
535 .logo-indicator {
536 display: flex;
537 gap: 6px;
538 align-items: center;
539 }
540
541 .logo-bar {
542 width: 35px;
543 height: 4px;
544 border-radius: 10px;
545 background: linear-gradient(90deg,
546 rgba(165, 180, 252, 0.75),
547 rgba(244, 114, 182, 0.7));
548 }
549
550 .logo-bar:nth-child(2) {
551 width: 25px;
552 }
553
554 .logo-bar:nth-child(3) {
555 width: 18px;
556 }
557
558 </style>
559 </head>
560 <body>
561 <!-- Background decorative elements -->
562 <div class="bg-decoration">
563 <div class="orb-1"></div>
564 <div class="orb-2"></div>
565 <div class="orb-3"></div>
566 <div class="wave-line-1"></div>
567 <div class="wave-line-2"></div>
568 <div class="geo-rect-1"></div>
569 <div class="geo-rect-2"></div>
570
571 <div class="dot-cluster-1">
572 <div class="floating-dot"></div>
573 <div class="floating-dot"></div>
574 <div class="floating-dot"></div>
575 </div>
576 <div class="dot-cluster-2">
577 <div class="floating-dot"></div>
578 <div class="floating-dot"></div>
579 <div class="floating-dot"></div>
580 </div>
581 </div>
582
583 <div class="page-container">
584 <!-- Header Section -->
585 <div class="topic-wrapper">
586 <div class="topic-accent"></div>
587 <div class="topic">{{title}}</div>
588 </div>
589
590 <!-- Image Section -->
591 <div class="image-wrapper">
592 <div class="image-frame-bg"></div>
593
594 <div class="corner-accent tl"></div>
595 <div class="corner-accent br"></div>
596 <div class="corner-accent tr"></div>
597 <div class="corner-accent bl"></div>
598
599 <div class="side-indicator left">
600 <div class="indicator-dot"></div>
601 <div class="indicator-dot accent"></div>
602 <div class="indicator-dot"></div>
603 </div>
604 <div class="side-indicator right">
605 <div class="indicator-dot"></div>
606 <div class="indicator-dot accent"></div>
607 <div class="indicator-dot"></div>
608 </div>
609
610 <div class="image-container">
611 <img src="{{image}}" alt="Frame Image">
612 </div>
613 </div>
614
615 <!-- Text Section -->
616 <div class="text-wrapper">
617 <div class="text-bg"></div>
618 <div class="quote-mark open">"</div>
619 <div class="quote-mark close">"</div>
620 <div class="text-accent-bar left"></div>
621 <div class="text-accent-bar right"></div>
622 <div class="text">{{text}}</div>
623 </div>
624
625 <!-- Footer Section -->
626 <div class="footer">
627 <div class="author">
628 <div class="author-name">
629 <div class="author-icon">
630 <div class="author-dot"></div>
631 <div class="author-dot large"></div>
632 <div class="author-dot"></div>
633 </div>
634 </div>
635 </div>
636 <div class="logo-wrapper">
637 <div class="logo-indicator">
638 <div class="logo-bar"></div>
639 <div class="logo-bar"></div>
640 <div class="logo-bar"></div>
641 </div>
642 </div>
643 </div>
644 </div>
645 </body>
646 </html>
647
647 lines HTML