全屏滚动布局
Full Page Scroll
每一屏占满整个视口的沉浸式滚动体验,通过滚动切换完整场景,适合品牌故事、产品介绍、作品集展示。
配色方案
Primary
#000000
Secondary
#ffffff
Accent 1
#6366f1
Accent 2
#ec4899
Accent 3
#14b8a6
Accent 4
#f59e0b
提示词
硬性 + 软性提示词
一键复制并生成 全屏滚动布局 风格界面。硬性提示词用于强约束一致性,软性提示词用于保留风格方向下的灵活实现。
硬性提示词
高一致性,严格执行风格规则
STYLEKIT_STYLE_REFERENCE
style_name: 全屏滚动布局
style_slug: full-page-scroll
style_source: /styles/full-page-scroll
# Hard Prompt
请严格遵守以下风格规则并保持一致性,禁止风格漂移。
## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。
## Style Rules
# Full Page Scroll (全屏滚动布局) Design System
> 每一屏占满整个视口的沉浸式滚动体验,通过滚动切换完整场景,适合品牌故事、产品介绍、作品集展示。
## 核心理念
Full Page Scroll(全屏滚动布局)是一种将每个内容区块扩展到整个视口的布局方式,创造电影般的叙事体验。
核心理念:
- 沉浸体验:每一屏都是完整的视觉场景
- 叙事节奏:滚动即翻页,控制信息节奏
- 焦点集中:一次只展示一个核心信息
- 记忆深刻:场景化展示更易被记住
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border-0
颜色: border-white/20
圆角: rounded-full
```
### 阴影
```
小: shadow-none
中: shadow-none
大: shadow-none
悬停: shadow-none
聚焦: shadow-none
```
### 交互效果
```
悬停位移: undefined
过渡动画: transition-all duration-300
按下状态: active:scale-95
```
### 字体
```
标题: font-bold tracking-tight
正文: font-sans
```
### 字号
```
Hero: text-5xl md:text-7xl lg:text-8xl
H1: text-4xl md:text-6xl
H2: text-3xl md:text-5xl lg:text-7xl
H3: text-2xl md:text-3xl
正文: text-lg md:text-xl lg:text-2xl
小字: text-sm md:text-base
```
### 间距
```
Section: py-0
容器: px-6 md:px-8 lg:px-12
卡片: p-8 md:p-12
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `shadow-sm`
- `shadow-md`
- `shadow-lg`
- `shadow-xl`
- `border-gray-200`
- `border-gray-300`
- `text-zinc-900`
- `text-black`
### 禁止的模式
- 匹配 `^shadow-(?!none)`
- 匹配 `^border-gray-`
### 禁止原因
- `shadow-lg`: Full Page Scroll uses bold color backgrounds instead of shadows for depth
- `border-gray-200`: Full Page Scroll uses white/transparent borders for dark backgrounds
- `text-black`: Full Page Scroll uses white text on dark/gradient backgrounds
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
px-8 md:px-12 py-4 md:py-5
font-semibold text-lg
transition-colors
```
### 卡片必须包含
```
min-h-screen
snap-start
flex items-center justify-center
```
### 输入框必须包含
```
bg-transparent
border-b border-white/30
text-white text-lg
placeholder-white/50
focus:outline-none focus:border-white
transition-colors
```
---
## [COMPARE] 错误 vs 正确对比
### 按钮
[WRONG] **错误示例**(使用了圆角和模糊阴影):
```html
<button class="rounded-lg shadow-lg bg-blue-500 text-white px-4 py-2 hover:bg-blue-600">
点击我
</button>
```
[CORRECT] **正确示例**(使用硬边缘、无圆角、位移效果):
```html
<button class="px-8 md:px-12 py-4 md:py-5 font-semibold text-lg transition-colors bg-[#ff006e] text-white px-4 py-2 md:px-6 md:py-3">
点击我
</button>
```
### 卡片
[WRONG] **错误示例**(使用了渐变和圆角):
```html
<div class="rounded-xl shadow-2xl bg-gradient-to-r from-purple-500 to-pink-500 p-6">
<h3 class="text-xl font-semibold">标题</h3>
</div>
```
[CORRECT] **正确示例**(纯色背景、硬边缘阴影):
```html
<div class="min-h-screen snap-start flex items-center justify-center p-8 md:p-12">
<h3 class="font-bold tracking-tight text-2xl md:text-3xl">标题</h3>
</div>
```
### 输入框
[WRONG] **错误示例**(灰色边框、圆角):
```html
<input class="rounded-md border border-gray-300 px-3 py-2 focus:ring-2 focus:ring-blue-500" />
```
[CORRECT] **正确示例**(黑色粗边框、聚焦阴影):
```html
<input class="bg-transparent border-b border-white/30 text-white text-lg placeholder-white/50 focus:outline-none focus:border-white transition-colors px-3 py-2 md:px-4 md:py-3" placeholder="请输入..." />
```
---
## [TEMPLATES] 页面骨架模板
使用以下模板生成页面,只需替换 `{PLACEHOLDER}` 部分:
### 导航栏骨架
```html
<nav class="bg-white border-b-2 md:border-b-4 border-black px-4 md:px-8 py-3 md:py-4">
<div class="flex items-center justify-between max-w-6xl mx-auto">
<a href="/" class="font-black text-xl md:text-2xl tracking-wider">
{LOGO_TEXT}
</a>
<div class="flex gap-4 md:gap-8 font-mono text-sm md:text-base">
{NAV_LINKS}
</div>
</div>
</nav>
```
### Hero 区块骨架
```html
<section class="min-h-[60vh] md:min-h-[80vh] flex items-center px-4 md:px-8 py-12 md:py-0 bg-{ACCENT_COLOR} border-b-2 md:border-b-4 border-black">
<div class="max-w-4xl mx-auto">
<h1 class="font-black text-4xl md:text-6xl lg:text-8xl leading-tight tracking-tight mb-4 md:mb-6">
{HEADLINE}
</h1>
<p class="font-mono text-base md:text-xl max-w-xl mb-6 md:mb-8">
{SUBHEADLINE}
</p>
<button class="bg-black text-white font-black px-6 py-3 md:px-8 md:py-4 border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px] transition-all text-sm md:text-base">
{CTA_TEXT}
</button>
</div>
</section>
```
### 卡片网格骨架
```html
<section class="py-12 md:py-24 px-4 md:px-8">
<div class="max-w-6xl mx-auto">
<h2 class="font-black text-2xl md:text-4xl mb-8 md:mb-12">{SECTION_TITLE}</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6">
<!-- Card template - repeat for each card -->
<div class="bg-white border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] md:shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] p-4 md:p-6 hover:shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:hover:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:-translate-y-1 transition-all">
<h3 class="font-black text-lg md:text-xl mb-2">{CARD_TITLE}</h3>
<p class="font-mono text-sm md:text-base text-gray-700">{CARD_DESCRIPTION}</p>
</div>
</div>
</div>
</section>
```
### 页脚骨架
```html
<footer class="bg-black text-white py-12 md:py-16 px-4 md:px-8 border-t-2 md:border-t-4 border-black">
<div class="max-w-6xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div>
<span class="font-black text-xl md:text-2xl">{LOGO_TEXT}</span>
<p class="font-mono text-sm mt-4 text-gray-400">{TAGLINE}</p>
</div>
<div>
<h4 class="font-black text-lg mb-4">{COLUMN_TITLE}</h4>
<ul class="space-y-2 font-mono text-sm text-gray-400">
{FOOTER_LINKS}
</ul>
</div>
</div>
</div>
</footer>
```
---
## [CHECKLIST] 生成后自检清单
**在输出代码前,必须逐项验证以下每一条。如有违反,立即修正后再输出:**
### 1. 圆角检查
- [ ] 搜索代码中的 `rounded-`
- [ ] 确认只有 `rounded-none` 或无圆角
- [ ] 如果发现 `rounded-lg`、`rounded-md` 等,替换为 `rounded-none`
### 2. 阴影检查
- [ ] 搜索代码中的 `shadow-`
- [ ] 确认只使用 `shadow-[Xpx_Xpx_0px_0px_rgba(...)]` 格式
- [ ] 如果发现 `shadow-lg`、`shadow-xl` 等,替换为正确格式
### 3. 边框检查
- [ ] 搜索代码中的 `border-`
- [ ] 确认边框颜色是 `border-black`
- [ ] 如果发现 `border-gray-*`、`border-slate-*`,替换为 `border-black`
### 4. 交互检查
- [ ] 所有按钮都有 `hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px]`
- [ ] 所有卡片都有 hover 效果(阴影变色或位移)
- [ ] 都包含 `transition-all`
### 5. 响应式检查
- [ ] 边框有 `border-2 md:border-4`
- [ ] 阴影有 `shadow-[4px...] md:shadow-[8px...]`
- [ ] 间距有 `p-4 md:p-6` 或类似的响应式值
- [ ] 字号有 `text-sm md:text-base` 或类似的响应式值
### 6. 字体检查
- [ ] 标题使用 `font-black`
- [ ] 正文使用 `font-mono`
> CRITICAL: **如果任何一项检查不通过,必须修正后重新生成代码。**
---
## [EXAMPLES] 示例 Prompt
### 1. 品牌故事页
讲述品牌历史的全屏滚动
```
Create a brand story page with full page scroll:
1. Container with scroll-snap-type: y mandatory
2. 5 sections, each min-h-screen with different gradient backgrounds
3. Section 1: Hero with brand name and tagline
4. Sections 2-4: Timeline moments with year, title, description
5. Section 5: CTA to explore more
6. Fixed navigation dots on right side
7. Scroll indicator on first section
Content centered, smooth transitions between sections
```
### 2. 产品特性展示
一屏一特性的产品介绍
```
Create a product features page with full page scroll:
1. 4 full-screen sections with scroll snap
2. Each section: feature icon, headline, description, visual
3. Alternating dark/light backgrounds
4. Section entrance animations (fade up)
5. Progress indicator showing current section
6. Final section with pricing CTA
7. Skip button to jump to end
Use bold typography, centered content
```
### 3. 作品集展示
每个项目一屏的作品集
```
Create a portfolio showcase with full page scroll:
1. Hero section with name and role
2. Each project in full-screen section
3. Project sections: large image, title, description, link
4. Different color schemes per project
5. Navigation dots with project names on hover
6. Final section with contact form
7. Smooth scroll between sections
Use dramatic visuals, minimal text
```软性提示词
保留风格方向,允许实现灵活
STYLEKIT_STYLE_REFERENCE
style_name: 全屏滚动布局
style_slug: full-page-scroll
style_source: /styles/full-page-scroll
# Soft Prompt
保持整体风格气质即可,允许实现细节灵活调整,但不要偏离核心视觉语言。
## Style Signals
- 全屏
- 滚动
- 沉浸式
- 场景
- 品牌
- 故事
## Prefer
- 每个 section 设置 min-h-screen 或 h-screen
- 使用 scroll-snap 实现平滑吸附 scroll-snap-type: y mandatory
- 每屏内容垂直水平居中 flex items-center justify-center
- 添加滚动指示器和页面导航点
## Avoid
- 禁止内容超出单屏视口(需要滚动才能看完)
- 禁止没有滚动提示(用户可能不知道往下滚)
- 禁止动画过于复杂导致性能问题
## Output Guidance
- 先保证整体风格识别度,再优化细节。
- 避免过度炫技,保持可读性与可维护性。设计哲学
Full Page Scroll(全屏滚动布局)是一种将每个内容区块扩展到整个视口的布局方式,创造电影般的叙事体验。
核心理念: - 沉浸体验:每一屏都是完整的视觉场景 - 叙事节奏:滚动即翻页,控制信息节奏 - 焦点集中:一次只展示一个核心信息 - 记忆深刻:场景化展示更易被记住
必须做 / Do's
- +每个 section 设置 min-h-screen 或 h-screen
- +使用 scroll-snap 实现平滑吸附 scroll-snap-type: y mandatory
- +每屏内容垂直水平居中 flex items-center justify-center
- +添加滚动指示器和页面导航点
- +使用 CSS scroll-behavior: smooth
- +考虑添加进入/离开动画
- +提供跳过或快速导航选项
- +section 使用 group 类,内容元素用 group-hover 实现视差效果
- +导航点 hover 时从圆形扩展为胶囊形(hover:h-6)暗示可交互层级
- +背景径向渐变在 group-hover 时 scale-110(呼吸感背景)
- +内容层使用不同 delay(delay-0 / delay-75 / delay-150)制造错落视差
禁止做 / Don'ts
- -禁止内容超出单屏视口(需要滚动才能看完)
- -禁止没有滚动提示(用户可能不知道往下滚)
- -禁止动画过于复杂导致性能问题
- -禁止锁定滚动时间过长
- -禁止忽略移动端体验
- -禁止所有内容元素使用相同的 transition delay(必须错落才能产生景深感)
组件模板
组件预览
滚动提示按钮
引导用户滚动的按钮
<button className="
absolute bottom-8 left-1/2 -translate-x-1/2
flex flex-col items-center gap-2
text-white/70 hover:text-white
transition-colors
animate-bounce
">
<span className="text-sm uppercase tracking-widest">Scroll</span>
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 14l-7 7m0 0l-7-7m7 7V3" />
</svg>
</button>全局样式
全局 CSS
/* Full Page Scroll Global Styles */
/* Main container with snap scroll */
.fullpage-container {
height: 100vh;
overflow-y: auto;
scroll-snap-type: y mandatory;
scroll-behavior: smooth;
}
/* Each section */
.fullpage-section {
min-height: 100vh;
scroll-snap-align: start;
display: flex;
align-items: center;
justify-content: center;
}
/* Scroll indicator animation */
@keyframes bounce {
0%, 100% {
transform: translateY(0) translateX(-50%);
}
50% {
transform: translateY(10px) translateX(-50%);
}
}
.scroll-indicator {
position: absolute;
bottom: 2rem;
left: 50%;
transform: translateX(-50%);
animation: bounce 2s infinite;
}
/* Navigation dots */
.fullpage-nav {
position: fixed;
right: 2rem;
top: 50%;
transform: translateY(-50%);
z-index: 50;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.fullpage-nav-dot {
width: 0.75rem;
height: 0.75rem;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
transition: background 0.3s, transform 0.3s;
}
.fullpage-nav-dot:hover,
.fullpage-nav-dot.active {
background: rgba(255, 255, 255, 1);
transform: scale(1.2);
}
/* Section entrance animations */
.fullpage-section [data-animate] {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fullpage-section.in-view [data-animate] {
opacity: 1;
transform: translateY(0);
}
/* Stagger children animations */
.fullpage-section.in-view [data-animate]:nth-child(1) { transition-delay: 0.1s; }
.fullpage-section.in-view [data-animate]:nth-child(2) { transition-delay: 0.2s; }
.fullpage-section.in-view [data-animate]:nth-child(3) { transition-delay: 0.3s; }
.fullpage-section.in-view [data-animate]:nth-child(4) { transition-delay: 0.4s; }兼容的视觉风格
试试搭配
全屏滚动布局 是一种布局模式,可以与以下视觉风格搭配使用。
无障碍
无障碍评分
基于颜色对比度和排版可读性的 WCAG 2.1 合规分析。
综合评分
等级: A - 优秀
对比度
| 场景 | 颜色 | 比率 | AA | AAA |
|---|---|---|---|---|
| Text on background | /#ffffff / #000000 | 21:1 | ||
| Text on secondary background | /#ffffff / #18181b | 17.72:1 | ||
| Button primary | /#000000 / #ffffff | 21:1 |
可读性
分数
83/100
字号
text-lg md:text-xl lg:text-2xl
字重
font-bold tracking-tight
行高
default
评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。
IDE 集成
IDE 配置导出
下载 AI 编码助手的配置文件,使其按照此风格生成代码。
风格包
导出风格包
获取完整的可机器读取风格资源,包括 Design Tokens、Tailwind 预设、CSS 变量和 shadcn/ui 主题。
Metadata
Style metadata including version information
Design Tokens
Figma / Style Dictionary / Tokens Studio 兼容
Tailwind Preset
Tailwind CSS 主题预设,可直接在配置中引用
Global CSS
包含 CSS 变量和基础样式
shadcn Theme
shadcn/ui 主题配置
CSS Variables
纯 CSS 变量,适用于任何项目
SKILL.md
可加载到 Cursor / Claude Code / VS Code 的技能包