mcpField
G
generic-static-design-system

generic-static-design-system

github.com/travisjneuman设计与 UI106164 次安装1 天前更新
代码仓库

关于 generic-static-design-system

generic-static-design-system 是面向极简静态网站的设计技能,使用纯 HTML、CSS 和 JavaScript。它侧重纯 CSS 模式、响应式排版、无障碍设计和精简资源目标,不依赖预处理器或构建工具。

主要功能

  1. 01CSS 自定义属性与系统字体
  2. 02使用 clamp() 实现流式排版
  3. 03纯 CSS 动画与交互
  4. 04无障碍焦点状态和组件模式
  5. 05文件大小与 Lighthouse 目标

适用场景

  1. 01无需构建工具设计极简静态网站
  2. 02不使用媒体查询实现响应式排版
  3. 03创建轻量 CSS 交互效果
  4. 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