# Astro Jiao77 网站
一个基于 Astro 构建的现代化网站,采用玻璃质感设计和莫兰蒂配色方案。
## 🎨 设计特色
- **玻璃质感 (Glass Morphism)**: 半透明背景配合模糊效果
- **莫兰蒂配色**: 温和优雅的色彩搭配
- **圆角设计**: 现代化的UI界面
- **流畅动画**: 渐入渐出效果和悬浮动画
- **响应式布局**: 适配各种设备屏幕
## 📁 项目结构
```
src/
├── components/ # 组件库
│ ├── navigation/ # 导航页面组件
│ │ ├── NavigationCard.astro # 导航卡片
│ │ └── NavigationGrid.astro # 导航网格布局
│ ├── report/ # 报告页面组件
│ │ ├── ReportSection.astro # 报告区块
│ │ ├── MetricCard.astro # 指标卡片
│ │ └── MetricsGrid.astro # 指标网格
│ ├── Header.astro # 可展开收缩的页眉
│ ├── Footer.astro # 页脚组件
│ ├── Container.astro # 通用容器组件
│ └── AnimatedElement.astro # 动画组件
├── layouts/
│ └── BaseLayout.astro # 基础布局
├── pages/ # 页面
│ ├── index.astro # 首页 (导航类型)
│ └── reports.astro # 报告页面
└── styles/
└── global.css # 全局样式
```
## 🎯 页面类型
### 导航页面
- 使用导航组件库 (`src/components/navigation/`)
- 浅色背景渐变
- 服务卡片式布局
- 适用于:首页、目录页、功能导航等
### 报告页面
- 使用报告组件库 (`src/components/report/`)
- 深色背景渐变
- 数据展示布局
- 适用于:数据报告、统计分析、dashboard等
## 🧩 组件介绍
### 导航组件
#### NavigationCard
导航卡片组件,支持:
- 三种颜色主题 (primary, secondary, accent)
- 三种尺寸 (small, medium, large)
- 图标和描述文本
- 悬浮动画效果
```astro
```
#### NavigationGrid
导航网格布局:
- 自适应列数
- 交错动画效果
- 响应式设计
```astro
```
### 报告组件
#### ReportSection
报告区块组件:
- 可配置标题层级
- 自动分割线
- 深色主题优化
```astro
报告内容...
```
#### MetricCard
指标卡片:
- 数值显示
- 变化趋势指示
- 多种颜色主题
```astro
```
### 通用组件
#### Container
万能容器组件:
- 多种视觉样式 (glass, glass-dark, solid, outline)
- 灵活尺寸配置
- 圆角和阴影选项
```astro
内容...
```
#### AnimatedElement
动画包装器:
- 8种动画效果
- 滚动触发
- 自定义延迟和时长
```astro
需要动画的内容...
```
#### Header
智能页眉:
- 自动展开/收缩
- 滚动响应
- 移动端适配
## 🎨 配色方案
项目采用莫兰蒂配色,定义在 `tailwind.config.mjs`:
```css
morandi: {
cream: '#F4F1E8', # 奶白色
beige: '#E8DCC0', # 米色
sage: '#C8D5B9', # 鼠尾草绿
dusty: '#D4B5A0', # 尘土色
mauve: '#B8A5A5', # 紫灰色
clay: '#A68B7B', # 陶土色
mist: '#C7B8A1', # 薄雾色
stone: '#9B8B7A', # 石头色
deep: '#7A6B5D' # 深褐色
}
```
## 🚀 开发命令
```bash
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
# 预览生产构建
npm run preview
```
## 📱 响应式设计
- **桌面端**: 完整功能和动画效果
- **平板端**: 优化布局和交互
- **移动端**: 简化界面,保持可用性
## ✨ 动画效果
- **页面加载**: 渐入动画
- **滚动触发**: 元素逐步显现
- **悬浮效果**: 卡片提升和缩放
- **交错动画**: 网格元素依次出现
## 🔧 自定义扩展
### 添加新的导航卡片
在 `src/pages/index.astro` 中添加新的 `NavigationCard` 组件
### 创建新的报告页面
1. 复制 `src/pages/reports.astro`
2. 修改内容和数据
3. 使用报告组件库构建布局
### 扩展颜色主题
在 `tailwind.config.mjs` 中添加新的颜色定义,然后在组件中使用
## 📦 技术栈
- **Astro**: 现代化静态站点生成器
- **Tailwind CSS**: 实用优先的CSS框架
- **TypeScript**: 类型安全的JavaScript
- **Font Awesome**: 图标库
## 🤝 贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目!