Skip to Content
组件区块组件

区块组件

本文档介绍了 SaaS Starter 中的区块组件。这些组件位于 src/components/sections/ 目录下,用于构建页面的主要内容区块。

Hero

主横幅区块组件:

import { Hero } from "@/components/sections/hero"; <Hero dict={dict} params={params} showTrustBar={true} />

属性

  • dict - 国际化字典对象
  • params - 路由参数
  • showTrustBar - 是否显示信任栏

变体

  • 左对齐布局
  • 居中布局
  • 右对齐布局

Features

功能特性展示区块:

import { Features } from "@/components/sections/features"; <Features dict={dict} variant="grid" columns={3} />

属性

  • dict - 国际化字典对象
  • variant - 布局变体(grid/list)
  • columns - 网格列数

功能

  • 响应式网格布局
  • 图标支持
  • 动画效果
  • 自定义样式

ContentSection

内容展示区块:

import { ContentSection } from "@/components/sections/content-section"; <ContentSection title="区块标题" description="区块描述" image="/path/to/image.jpg" imagePosition="right" />

属性

  • title - 区块标题
  • description - 区块描述
  • image - 图片路径
  • imagePosition - 图片位置(left/right)

布局选项

  • 图文左右布局
  • 纯文本布局
  • 带背景图布局

CTASection

号召性动作区块:

import { CTASection } from "@/components/sections/cta-section"; <CTASection dict={dict} variant="primary" showBackground={true} />

变体

  • PrimaryCTA - 主要样式
  • GradientCTA - 渐变背景
  • MinimalCTA - 简约样式

属性

  • dict - 国际化字典对象
  • variant - 样式变体
  • showBackground - 是否显示背景

FAQ

常见问题区块:

import { FAQ } from "@/components/sections/faq"; <FAQ dict={dict} columns={2} expandFirst={true} />

属性

  • dict - 国际化字典对象
  • columns - 列数
  • expandFirst - 是否展开第一项

功能

  • 折叠面板
  • 搜索过滤
  • 分类展示

Testimonials

用户评价区块:

import { Testimonials } from "@/components/sections/testimonials"; <Testimonials dict={dict} variant="grid" autoplay={true} />

属性

  • dict - 国际化字典对象
  • variant - 显示样式(grid/slider)
  • autoplay - 是否自动播放

功能

  • 网格布局
  • 轮播展示
  • 响应式设计

最佳实践

区块组合指南

  1. 首页布局示例
export default function HomePage({ params }) { const dict = await getDictionary(params.lang); return ( <Layout dict={dict}> <Hero dict={dict} params={params} /> <Features dict={dict} /> <ContentSection {...contentProps} /> <Testimonials dict={dict} /> <FAQ dict={dict} /> <CTASection dict={dict} /> </Layout> ); }
  1. 产品页面示例
<Layout dict={dict}> <Hero variant="product" /> <Features columns={4} /> <ContentSection imagePosition="left" /> <PricingSection /> <TestimonialsSlider /> <GradientCTA /> </Layout>

性能优化

  1. 图片处理
  • 使用适当的图片格式
  • 实现懒加载
  • 提供响应式图片
  1. 动画效果
  • 使用 CSS 动画
  • 实现渐进增强
  • 考虑减少动画
  1. 内容加载
  • 实现分段加载
  • 优化首屏内容
  • 使用占位符

响应式设计

  1. 布局适配
  • 使用流式布局
  • 适配不同屏幕
  • 调整内容密度
  1. 图片处理
  • 使用响应式图片
  • 调整图片大小
  • 优化移动端展示
  1. 交互优化
  • 适配触摸操作
  • 优化表单体验
  • 调整按钮大小

辅助功能

  1. 语义化标签
  • 使用正确的 HTML 标签
  • 添加 ARIA 标签
  • 提供替代文本
  1. 键盘操作
  • 支持键盘导航
  • 设置合理的焦点顺序
  • 提供快捷键
  1. 颜色对比度
  • 确保文本可读性
  • 提供足够的对比度
  • 支持高对比度模式

国际化支持

  1. 文本翻译
  • 使用字典文件
  • 支持动态内容
  • 处理长文本
  1. 图片本地化
  • 提供本地化图片
  • 适配不同语言
  • 考虑文化差异
  1. 布局调整
  • 支持文本方向
  • 处理字符长度
  • 适配不同字体
最后更新于: