关于 generic-static-design-system
generic-static-design-system 是面向极简静态网站的设计技能,使用纯 HTML、CSS 和 JavaScript。它侧重纯 CSS 模式、响应式排版、无障碍设计和精简资源目标,不依赖预处理器或构建工具。
主要功能
- 01CSS 自定义属性与系统字体
- 02使用 clamp() 实现流式排版
- 03纯 CSS 动画与交互
- 04无障碍焦点状态和组件模式
- 05文件大小与 Lighthouse 目标
适用场景
- 01无需构建工具设计极简静态网站
- 02不使用媒体查询实现响应式排版
- 03创建轻量 CSS 交互效果
- 04为网站控件设置焦点状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ travisjneuman/ .claude --skill generic-static-design-system安装后在 Claude Code 中输入/generic-static-design-system确认已加载。
详细介绍
静态网站设计系统
适用于极简静态网站(纯 HTML/CSS/JS)的设计系统模式。
扩展自: 通用设计系统 - 阅读基础技能,了解色彩理论、字体比例、间距系统和组件状态。
纯 CSS 方法
不使用预处理器、Tailwind 或构建工具,只用 CSS。
CSS 自定义属性
:root {
/* Brand colors - keep palette minimal */
--bg-primary: #000000;
--text-primary: #ffffff;
--accent: #00ff00;
/* Spacing */
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 2rem;
/* Timing */
--transition-fast: 0.15s;
--transition-base: 0.3s;
}
系统字体栈(不使用 Web 字体)
/* System fonts = zero load time */
body {
font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
code {
font-family: "SF Mono", Monaco, "Courier New", monospace;
}
使用 clamp() 实现响应式排版
/* Fluid sizing, no media queries needed */
h1 {
font-size: clamp(1.5rem, 5vw, 2.5rem);
}
body {
font-size: clamp(1rem, 3vw, 1.125rem);
}
纯 CSS 动画
关键帧动画
@keyframes pulse {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.pulse {
animation: pulse 2s ease-in-out infinite;
}
过渡模式
/* Hover effect - GPU accelerated */
.link {
transition:
transform var(--transition-base) ease,
color var(--transition-base) ease;
}
.link:hover {
transform: translateY(-2px);
color: var(--accent);
}
使用 nth-child 实现交错动画
.menu a {
opacity: 0;
transform: translateY(-10px);
transition: all 0.3s ease;
}
.menu.visible a {
opacity: 1;
transform: translateY(0);
}
.menu.visible a:nth-child(1) {
transition-delay: 0.1s;
}
.menu.visible a:nth-child(2) {
transition-delay: 0.2s;
}
.menu.visible a:nth-child(3) {
transition-delay: 0.3s;
}
纯 CSS 交互模式
隐藏/显示切换
.hidden {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.visible {
max-height: 300px; /* Must be > content height */
}
图标旋转
.arrow {
transition: transform 0.3s ease;
}
.rotated .arrow {
transform: rotate(180deg);
}
焦点状态
a:focus-visible,
button:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 2px;
}
组件模式(无需 JS)
无障碍按钮
<button class="btn" type="button">Click Me</button>
.btn {
padding: var(--space-sm) var(--space-md);
background: transparent;
border: 1px solid var(--text-primary);
color: var(--text-primary);
cursor: pointer;
transition: all var(--transition-base) ease;
}
.btn:hover {
background: var(--accent);
border-color: var(--accent);
color: var(--bg-primary);
}
导航
<nav>
<a href="#section1">Section 1</a>
<a href="#section2">Section 2</a>
</nav>
nav a {
padding: var(--space-sm);
text-decoration: none;
color: var(--text-primary);
}
nav a:hover {
color: var(--accent);
}
性能目标
| 文件 | 最大大小 |
|---|---|
| HTML | < 5KB |
| CSS | < 10KB |
| JS | < 5KB |
| 总计 | < 50KB |
| Lighthouse | 目标 |
|---|---|
| 性能 | 95+ |
| 无障碍性 | 90+ |
| 最佳实践 | 100 |
另请参阅
评论
支持 Markdown