1+ import React from "react" ;
2+
3+ export default function SpringBlogHome ( ) {
4+ return (
5+ < div className = "min-h-screen p-6 font-serif relative debug-border anime-bg" >
6+ < div className = "bg-overlay" > </ div >
7+
8+ < header className = "flex flex-col items-center justify-center py-10 relative z-10" >
9+ < h1 className = "text-4xl md:text-5xl font-bold text-white drop-shadow-md relative" >
10+ 春风笔记
11+ < span className = "absolute -top-6 right-0 w-16 h-16 cherry-blossom opacity-60" > </ span >
12+ </ h1 >
13+ < p className = "mt-3 text-lg md:text-xl text-gray-100 italic" > "像春风般轻柔的思考"</ p >
14+ < button className = "mt-5 px-5 py-2 text-lg rounded-full shadow-md bg-accent hover:bg-accent-hover text-white transition-all" >
15+ 探索笔记
16+ </ button >
17+ </ header >
18+
19+ < main className = "grid grid-cols-1 md:grid-cols-3 gap-5 px-3 md:px-12 mt-8 relative z-10" >
20+ < div className = "bg-white/90 shadow-md rounded-lg p-4 hover:shadow-lg transition-shadow backdrop-blur-sm border-t border-accent/20" >
21+ < div className = "relative" >
22+ < h2 className = "text-xl font-semibold text-green-700" > 读书随想</ h2 >
23+ < div className = "grass-decoration" > </ div >
24+ </ div >
25+ < p className = "mt-2 text-gray-700 text-sm" >
26+ 收集阅读经典与现代作品时的思考,记录那些闪光的瞬间。
27+ </ p >
28+ </ div >
29+
30+ < div className = "bg-white/90 shadow-md rounded-lg p-4 hover:shadow-lg transition-shadow backdrop-blur-sm border-t border-tertiary/20" >
31+ < div className = "relative" >
32+ < h2 className = "text-xl font-semibold text-blue-700" > 技术笔记</ h2 >
33+ < div className = "cloud-decoration" > </ div >
34+ </ div >
35+ < p className = "mt-2 text-gray-700 text-sm" >
36+ 探索各种技术领域的学习心得,从编程到设计的实践记录。
37+ </ p >
38+ </ div >
39+
40+ < div className = "bg-white/90 shadow-md rounded-lg p-4 hover:shadow-lg transition-shadow backdrop-blur-sm border-t border-secondary/20" >
41+ < div className = "relative" >
42+ < h2 className = "text-xl font-semibold text-green-700" > 生活感悟</ h2 >
43+ < div className = "leaf-decoration" > </ div >
44+ </ div >
45+ < p className = "mt-2 text-gray-700 text-sm" >
46+ 捕捉日常中的灵感与感悟,像春风拂过湖面留下的涟漪。
47+ </ p >
48+ </ div >
49+ </ main >
50+
51+ < section className = "mt-10 md:mt-16 bg-white/90 rounded-lg p-5 max-w-3xl mx-auto shadow-md backdrop-blur-sm relative z-10" >
52+ < h2 className = "text-2xl font-semibold text-green-700 mb-3" > 最近更新</ h2 >
53+ < div className = "space-y-3" >
54+ < div className = "border-l-2 border-secondary pl-3 hover:bg-green-50/50 transition-colors rounded p-2" >
55+ < h3 className = "text-lg font-medium text-gray-800" > 《人类简史》读后感</ h3 >
56+ < p className = "text-sm text-gray-600" > 对历史长河中人类演变的思考,从狩猎采集到人工智能...</ p >
57+ < div className = "text-xs text-gray-500 mt-1" > 2023年4月15日</ div >
58+ </ div >
59+
60+ < div className = "border-l-2 border-tertiary pl-3 hover:bg-blue-50/50 transition-colors rounded p-2" >
61+ < h3 className = "text-lg font-medium text-gray-800" > React Hooks最佳实践</ h3 >
62+ < p className = "text-sm text-gray-600" > 整理使用React Hooks过程中的经验与技巧...</ p >
63+ < div className = "text-xs text-gray-500 mt-1" > 2023年3月28日</ div >
64+ </ div >
65+
66+ < div className = "border-l-2 border-accent pl-3 hover:bg-pink-50/50 transition-colors rounded p-2" >
67+ < h3 className = "text-lg font-medium text-gray-800" > 春日小记</ h3 >
68+ < p className = "text-sm text-gray-600" > 漫步在樱花盛开的小路,思绪如风般自由...</ p >
69+ < div className = "text-xs text-gray-500 mt-1" > 2023年3月10日</ div >
70+ </ div >
71+ </ div >
72+ </ section >
73+
74+ < footer className = "mt-12 text-center text-sm text-white p-4 relative z-10" >
75+ < div className = "mb-2" > © 2023-2025 春风笔记 | 由热爱与思考驱动</ div >
76+ < div className = "flex justify-center space-x-4 text-xs" >
77+ < a href = "#" className = "hover:text-accent transition-colors" > 关于</ a >
78+ < a href = "#" className = "hover:text-accent transition-colors" > 联系</ a >
79+ < a href = "#" className = "hover:text-accent transition-colors" > RSS</ a >
80+ < a href = "#" className = "hover:text-accent transition-colors" > 主题</ a >
81+ </ div >
82+ </ footer >
83+
84+ < style jsx > { `
85+ .debug-border {
86+ border: 4px solid red;
87+ }
88+
89+ .anime-bg {
90+ position: relative;
91+ background: linear-gradient(to bottom, #f1a7a9, #93c5e6); /* 类似于动漫天空的渐变背景 */
92+ overflow: hidden;
93+ }
94+
95+ .anime-bg::before {
96+ content: '';
97+ position: absolute;
98+ top: 0;
99+ left: 0;
100+ right: 0;
101+ bottom: 0;
102+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M30,60 Q50,80 70,60 T90,70 T70,80 T50,70 T30,60' stroke='%23ffffff' stroke-width='1' fill='none' stroke-opacity='0.2'/%3E%3C/svg%3E");
103+ background-size: 200px 200px;
104+ opacity: 0.5;
105+ z-index: 0;
106+ }
107+
108+ .anime-bg::after {
109+ content: '';
110+ position: absolute;
111+ bottom: 0;
112+ left: 0;
113+ right: 0;
114+ height: 200px;
115+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200' viewBox='0 0 400 200'%3E%3Cpath d='M0,200 L0,150 Q100,100 200,150 Q300,200 400,150 L400,200 Z' fill='%23446b69' fill-opacity='0.3'/%3E%3C/svg%3E");
116+ background-repeat: repeat-x;
117+ background-size: 400px 200px;
118+ z-index: 0;
119+ }
120+
121+ .bg-overlay {
122+ position: absolute;
123+ top: 0;
124+ left: 0;
125+ right: 0;
126+ bottom: 0;
127+ background: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.3));
128+ z-index: 1;
129+ }
130+
131+ .cherry-blossom {
132+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50,30 C60,20 70,20 80,30 C90,40 90,50 80,60 C70,70 60,70 50,60 C40,70 30,70 20,60 C10,50 10,40 20,30 C30,20 40,20 50,30 Z' fill='%23f5a3b3' fill-opacity='0.3'/%3E%3Cpath d='M50,30 C55,35 55,45 50,50 C45,45 45,35 50,30 Z M80,30 C75,35 65,35 60,30 C65,25 75,25 80,30 Z M80,60 C75,55 75,45 80,40 C85,45 85,55 80,60 Z M50,60 C45,55 45,45 50,40 C55,45 55,55 50,60 Z M20,60 C25,55 35,55 40,60 C35,65 25,65 20,60 Z M20,30 C25,35 25,45 20,50 C15,45 15,35 20,30 Z' fill='%23ffffff' fill-opacity='0.6'/%3E%3Ccircle cx='50' cy='50' r='5' fill='%23ffcc88' fill-opacity='0.7'/%3E%3C/svg%3E");
133+ background-size: contain;
134+ background-repeat: no-repeat;
135+ }
136+
137+ .grass-decoration {
138+ position: absolute;
139+ bottom: -5px;
140+ right: -5px;
141+ width: 30px;
142+ height: 20px;
143+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20,100 Q25,70 30,100 M15,100 Q20,60 25,100 M25,100 Q35,75 45,100' stroke='%237db069' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
144+ background-repeat: no-repeat;
145+ opacity: 0.4;
146+ }
147+
148+ .cloud-decoration {
149+ position: absolute;
150+ top: -5px;
151+ right: -5px;
152+ width: 40px;
153+ height: 20px;
154+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='50' viewBox='0 0 100 50'%3E%3Cpath d='M10,40 Q20,20 40,30 Q60,10 80,30 Q90,40 95,35' stroke='%2378a4c7' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
155+ background-repeat: no-repeat;
156+ opacity: 0.4;
157+ }
158+
159+ .leaf-decoration {
160+ position: absolute;
161+ top: 0;
162+ right: 0;
163+ width: 25px;
164+ height: 25px;
165+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20,80 Q50,40 80,20 Q60,50 20,80 Z' fill='%237db069' fill-opacity='0.2'/%3E%3C/svg%3E");
166+ background-repeat: no-repeat;
167+ opacity: 0.5;
168+ }
169+
170+ .bg-accent {
171+ background-color: #f5a3b3;
172+ }
173+
174+ .bg-accent-hover {
175+ background-color: #e8919f;
176+ }
177+
178+ .text-accent {
179+ color: #f5a3b3;
180+ }
181+ ` } </ style >
182+ </ div >
183+ ) ;
184+ }
0 commit comments