import { CodeBlock } from '@/components/CodeBlock'; export default function ThemePage() { return (

主题系统

NewspaperUI 基于 CSS Variables 构建主题系统,支持主题切换和自定义。

CSS Variables

主题系统使用 CSS 自定义属性(CSS Variables)定义颜色、字体、间距等设计令牌。 这使得主题切换和自定义变得简单而灵活。

核心变量

Tailwind 集成

NewspaperUI 的主题系统与 Tailwind CSS 深度集成,可以直接在 Tailwind 配置中使用主题变量。

使用主题变量

在组件中可以直接使用 CSS Variables 或 Tailwind 工具类。

主要文本
// 使用 Tailwind 工具类
主要文本
`} />

自定义主题

你可以通过覆盖 CSS Variables 来自定义主题。

深色模式

通过定义深色模式的 CSS Variables,可以轻松实现主题切换。

视觉权重配置

视觉权重系统的配置也可以通过主题系统进行自定义。

响应式主题

可以根据屏幕尺寸调整主题变量,实现响应式设计。

主题最佳实践

  • 使用语义化的变量名,如 --color-text-primary 而不是 --color-black
  • 保持颜色对比度符合 WCAG 无障碍标准
  • 使用相对单位(rem、em)而不是绝对单位(px)以支持用户字体大小偏好
  • 在深色模式下确保所有颜色都有对应的深色版本
  • 测试主题在不同设备和浏览器上的表现
  • 提供主题切换的用户界面

导入主题

在你的应用中导入 NewspaperUI 主题:

主题工具

NewspaperUI 提供了一些工具函数来帮助你使用主题系统:

主题示例

以下是一些预设主题示例:

经典报纸

主色调 #111111
背景色 #ffffff
字体 Georgia

深色模式

主色调 #f5f5f5
背景色 #1a1a1a
字体 Georgia

更多资源

); }