返回 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; background: #F5F5DC; font-family: "Songti SC", "STSong", "SimSun", serif; }
9
10 .canvas {
11 width: 1600px; height: 900px;
12 background:
13 radial-gradient(ellipse at 20% 30%, rgba(169,169,169,0.08) 0%, transparent 50%),
14 radial-gradient(ellipse at 80% 70%, rgba(107,142,107,0.06) 0%, transparent 50%),
15 linear-gradient(180deg, #FAF7F0 0%, #F5F5DC 100%);
16 position: relative; color: #1A1A1A;
17 }
18
19 /* 远山 */
20 .mountain {
21 position: absolute; bottom: 0; width: 100%; height: 360px; opacity: 0.55;
22 }
23 .m1 { fill: #A9A9A9; opacity: 0.35; }
24 .m2 { fill: #696969; opacity: 0.45; }
25 .m3 { fill: #1A1A1A; opacity: 0.7; }
26
27 /* 柳条 */
28 .willow { position: absolute; top: 0; left: 60px; }
29
30 /* 印章 */
31 .seal {
32 position: absolute; top: 80px; right: 110px;
33 width: 78px; height: 78px; background: #DC143C;
34 display: flex; align-items: center; justify-content: center;
35 color: #FAF7F0; font-size: 22px; font-weight: bold;
36 letter-spacing: 2px; line-height: 1.1; text-align: center;
37 box-shadow: 0 0 0 3px #DC143C inset;
38 font-family: "STKaiti", "KaiTi", serif;
39 }
40
41 /* 主标题区 */
42 .title-block {
43 position: absolute; top: 200px; left: 140px;
44 z-index: 5;
45 }
46 .vert-label {
47 writing-mode: vertical-rl;
48 font-size: 28px; color: #696969;
49 letter-spacing: 8px; position: absolute;
50 left: -50px; top: 10px;
51 }
52 .main-title {
53 font-family: "STKaiti", "KaiTi", "Songti SC", serif;
54 font-size: 132px; font-weight: 900;
55 color: #000000; letter-spacing: 24px;
56 line-height: 1.1; text-shadow: 2px 2px 0 rgba(0,0,0,0.08);
57 }
58 .sub-title {
59 font-size: 30px; color: #6B8E6B; letter-spacing: 12px;
60 margin-top: 30px; font-weight: 300;
61 }
62 .ink-line {
63 width: 220px; height: 6px; margin-top: 36px;
64 background: linear-gradient(90deg, #000000 0%, transparent 100%);
65 }
66
67 /* 副文 */
68 .body-text {
69 position: absolute; left: 140px; bottom: 130px;
70 width: 480px; font-size: 22px; line-height: 2;
71 color: #1A1A1A; letter-spacing: 3px;
72 }
73 .body-text span { color: #DC143C; font-weight: bold; }
74
75 /* 右侧卡片 */
76 .card {
77 position: absolute; top: 230px; right: 140px;
78 width: 340px; padding: 40px 36px;
79 background: rgba(250,247,240,0.7);
80 border: 1px solid rgba(26,26,26,0.15);
81 backdrop-filter: blur(2px);
82 }
83 .card-title {
84 font-size: 28px; color: #000000; letter-spacing: 6px;
85 margin-bottom: 28px; border-left: 4px solid #DC143C;
86 padding-left: 16px;
87 }
88 .card-item {
89 display: flex; justify-content: space-between;
90 padding: 14px 0; border-bottom: 1px dashed rgba(0,0,0,0.15);
91 font-size: 20px;
92 }
93 .card-item .k { color: #696969; letter-spacing: 2px; }
94 .card-item .v { color: #1A1A1A; font-weight: 600; }
95
96 /* 底部诗句 */
97 .verse {
98 position: absolute; right: 140px; bottom: 90px;
99 font-size: 22px; color: #696969; letter-spacing: 6px;
100 writing-mode: vertical-rl; line-height: 2;
101 }
102
103 /* 乌篷船 */
104 .boat { position: absolute; bottom: 60px; left: 820px; opacity: 0.75; }
105 </style>
106 </head>
107 <body>
108 <div class="canvas">
109 <!-- 柳条 -->
110 <svg class="willow" width="200" height="500" viewBox="0 0 200 500">
111 <path d="M30,0 Q40,100 25,250 Q15,400 35,500" stroke="#6B8E6B" stroke-width="2" fill="none" opacity="0.6"/>
112 <path d="M60,0 Q70,120 55,280 Q45,420 65,500" stroke="#8FBC8F" stroke-width="2" fill="none" opacity="0.5"/>
113 <path d="M90,0 Q80,100 95,260 Q105,400 85,500" stroke="#6B8E6B" stroke-width="2" fill="none" opacity="0.55"/>
114 <ellipse cx="22" cy="180" rx="4" ry="10" fill="#8FBC8F" opacity="0.6" transform="rotate(20 22 180)"/>
115 <ellipse cx="58" cy="220" rx="4" ry="10" fill="#8FBC8F" opacity="0.5" transform="rotate(-15 58 220)"/>
116 <ellipse cx="98" cy="300" rx="4" ry="10" fill="#6B8E6B" opacity="0.6" transform="rotate(25 98 300)"/>
117 </svg>
118
119 <!-- 远山三层 -->
120 <svg class="mountain" viewBox="0 0 1600 360" preserveAspectRatio="none">
121 <path class="m1" d="M0,360 L0,200 Q200,120 400,180 Q600,240 800,150 Q1000,80 1200,170 Q1400,240 1600,160 L1600,360 Z"/>
122 <path class="m2" d="M0,360 L0,260 Q300,200 500,250 Q700,300 900,220 Q1100,160 1300,240 Q1500,300 1600,250 L1600,360 Z"/>
123 <path class="m3" d="M0,360 L0,310 Q200,280 400,300 Q600,320 800,290 Q1000,260 1200,300 Q1400,330 1600,300 L1600,360 Z"/>
124 </svg>
125
126 <!-- 乌篷船 -->
127 <svg class="boat" width="160" height="70" viewBox="0 0 160 70">
128 <path d="M10,50 Q80,70 150,50 L140,40 Q80,55 20,40 Z" fill="#1A1A1A" opacity="0.85"/>
129 <path d="M40,40 Q80,15 120,40" stroke="#1A1A1A" stroke-width="3" fill="none" opacity="0.7"/>
130 <line x1="80" y1="20" x2="80" y2="42" stroke="#1A1A1A" stroke-width="2"/>
131 </svg>
132
133 <!-- 印章 -->
134 <div class="seal">江南<br>水墨</div>
135
136 <!-- 标题 -->
137 <div class="title-block">
138 <div class="vert-label">烟雨如墨</div>
139 <div class="main-title">水墨江南</div>
140 <div class="sub-title">一纸烟雨 · 半卷流年</div>
141 <div class="ink-line"></div>
142 </div>
143
144 <!-- 正文 -->
145 <div class="body-text">
146 青砖黛瓦之间,乌篷船摇过千年时光。<br>
147 以墨为骨,以水为韵,于<span>留白</span>处见天地。<br>
148 让每一帧画面,都成一首未完的诗。
149 </div>
150
151 <!-- 右侧卡片 -->
152 <div class="card">
153 <div class="card-title">意境构成</div>
154 <div class="card-item"><span class="k">主 色</span><span class="v">浓墨 · 留白</span></div>
155 <div class="card-item"><span class="k">点 缀</span><span class="v">朱砂红</span></div>
156 <div class="card-item"><span class="k">字 体</span><span class="v">楷书 · 仿宋</span></div>
157 <div class="card-item"><span class="k">气 韵</span><span class="v">宁静悠远</span></div>
158 </div>
159
160 <!-- 竖排诗句 -->
161 <div class="verse">春风又绿江南岸</div>
162 </div>
163 </body>
164 </html>
165
165 lines HTML