# DETH AI Solutions - 技术实现文档
## 技术栈概览
- **框架**: Astro.js
- **样式**: TailwindCSS + Preline UI
- **动画**: View Transitions API + CSS Animations
- **字体**: Bricolage Grotesque Variable + Inter Variable
- **图标**: astro-icon
## 布局系统
### 全屏滚动布局
使用Tailwind CSS实现的平滑全屏滚动布局,支持响应式设计和自动动画:
```jsx
// 使用示例
import FullPageLayout from '@layouts/FullPageLayout.astro';
import FullPageSection from '@components/sections/FullPageSection.astro';
```
#### 核心功能
- **滚动行为**: 使用CSS Scroll Snap实现流畅的全屏滚动
- **响应式设计**:
- PC端:强制捕捉(mandatory)
- 移动端:自然滚动(proximity)
- **自动动画**:
- 基于Intersection Observer触发
- 渐入动画效果
- 可复用的动画类(animate-fade-up)
#### 组件结构
1. FullPageLayout.astro
- 提供全屏滚动容器
- 处理响应式滚动行为
- 优化触摸设备体验
2. FullPageSection.astro
- 实现章节容器
- 自动处理可见性动画
- 支持自定义类名扩展
## 样式系统
### Tailwind配置
```js
// tailwind.config.cjs
theme: {
extend: {
keyframes: {
'fade-up': {
'0%': {
opacity: '0',
transform: 'translateY(20px)'
},
'100%': {
opacity: '1',
transform: 'translateY(0)'
},
}
},
animation: {
'fade-up': 'fade-up 0.5s ease-out forwards'
}
}
}
```
### 颜色系统
使用CSS变量实现主题定制:
```js
colors: {
primary: 'var(--primary)',
secondary: 'var(--secondary)',
accent: 'var(--accent)',
success: 'var(--success)',
error: 'var(--error)',
dark: 'var(--dark)',
light: 'var(--light)'
}
```
### 响应式断点
```js
screens: {
sm: '640px', // 移动设备
md: '768px', // 平板
lg: '1024px', // 小型桌面
xl: '1280px' // 大型桌面
}
```
## 性能优化
- 使用CSS Scroll Snap替代JavaScript滚动控制
- Intersection Observer实现高效的动画触发
- Tailwind JIT编译减少未使用的CSS
- 组件级别的代码分割
## 目录结构
```
src/
├── layouts/ # 布局组件
│ ├── Layout.astro # 基础布局
│ └── FullPageLayout.astro # 全屏滚动布局
├── components/ # UI组件
│ ├── ui/ # 基础UI组件
│ └── sections/ # 页面章节组件
└── styles/ # 全局样式