HomeStylesTemplates
StyleKit
StylesTemplates
  1. Home
  2. /Styles
  3. /Split Screen
Style Catalog/分屏布局

分屏布局

Split Screen

C
65/100Fair

Symmetric or asymmetric split-screen layout creating visual tension through contrast and balance. Commonly used for product showcases, brand stories, and comparison pages.

分屏对比左右布局对称品牌展示moderncontemporarysleek现代
View Full Showcase →Templates

Best For

分屏 / 对比 / 左右布局

Primary Move

Use CSS Grid or Flexbox for split screen grid grid-cols-2

Watch Out

Do not have identical content on both sides (pointless split)

Showcase Entry

Live preview of the showcase page. Click to explore the full experience.

View Full Showcase →

Color Palette

Primary

#0f0f0f

Secondary

#ffffff

Accent 1

#ff4757

Accent 2

#2ed573

Accent 3

#1e90ff

Accent 4

#ffa502

PromptsComponent PreviewExportsRatings & Feedback

Prompts

Hard + Soft Prompts

Copy and generate 分屏布局 style interfaces with one click. Hard prompts enforce strict consistency, while soft prompts allow flexible implementation within the style direction.

Hard Prompt

High consistency, strictly enforces style rules

STYLEKIT_STYLE_REFERENCE
style_name: Split Screen
style_slug: split-screen
style_source: /styles/split-screen

# Hard Prompt

Strictly follow the style rules below and maintain consistency. No style drift allowed.

## Requirements
- Prioritize style consistency first, then creative extension.
- When conflicts arise, treat prohibitions as the highest priority.
- Self-check before output: verify colors, typography, spacing, and interactions still match this style.

## Style Rules
# Split Screen (分屏布局) Design System

> 左右对称或不对称的分屏布局,通过对比和平衡创造视觉张力,常用于产品展示、品牌故事、比较页面。

## 核心理念

Split Screen(分屏布局)是一种将视口分为两个或多个区域的布局方式,通过对比创造视觉张力和叙事效果。

核心理念:
- 对比强调:通过左右对比突出差异或联系
- 视觉平衡:即使不对称也保持视觉重量平衡
- 叙事引导:引导用户视线在两侧之间流动
- 空间利用:充分利用宽屏显示器的优势

设计原则:
- 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调
- 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级
- 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈
- 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验
- 无障碍性:确保色彩对比度符合 WCAG 2.1 AA 标准,所有交互元素可键盘访问

---

## Token 字典(精确 Class 映射)

### 边框
```
宽度: border-0
颜色: border-zinc-300
圆角: rounded-none
```

### 阴影
```
小:   shadow-none
中:   shadow-none
大:   shadow-none
悬停: shadow-none
聚焦: shadow-none
```

### 交互效果
```
悬停位移: undefined
过渡动画: transition-all duration-500
按下状态: active:scale-95
```

### 字体
```
标题: font-bold tracking-tight
正文: font-sans
```

### 字号
```
Hero:  text-4xl md:text-6xl lg:text-7xl
H1:    text-3xl md:text-5xl
H2:    text-2xl md:text-4xl
H3:    text-xl md:text-2xl
正文:  text-base md:text-lg
小字:  text-sm
```

### 间距
```
Section: py-0
容器:    px-8 md:px-12 lg:px-16
卡片:    p-8 lg:p-16
```

---

## [FORBIDDEN] 绝对禁止

以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:

### 禁止的 Class
- `rounded-lg`
- `rounded-xl`
- `rounded-2xl`
- `rounded-full`
- `shadow-sm`
- `shadow-md`
- `shadow-lg`
- `shadow-xl`

### 禁止的模式
- 匹配 `^rounded-(?!none)`
- 匹配 `^shadow-(?!none)`

### 禁止原因
- `rounded-lg`: Split Screen uses sharp edges for strong visual dividers
- `shadow-lg`: Split Screen relies on contrast between panels, not shadows

> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。

---

## [REQUIRED] 必须包含

### 按钮必须包含
```
px-8 py-4
font-semibold
transition-colors
```

### 卡片必须包含
```
min-h-[50vh] lg:min-h-screen
flex flex-col justify-center
```

### 输入框必须包含
```
bg-transparent
border-b-2 border-zinc-300
text-lg
focus:outline-none focus:border-black
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 py-4 font-semibold 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-[50vh] lg:min-h-screen flex flex-col justify-center p-8 lg:p-16">
  <h3 class="font-bold tracking-tight text-xl md:text-2xl">标题</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-2 border-zinc-300 text-lg focus:outline-none focus:border-black 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 showcase page with split screen:
1. Left panel: Full-height gradient background with large brand logo
2. Right panel: Brand story with heading, paragraphs, and CTA
3. Mobile: Stack with visual panel first
4. Desktop: 50/50 split with min-h-screen
5. Navigation fixed at top with mix-blend-difference
6. Smooth scroll to next section
Use grid grid-cols-1 lg:grid-cols-2, contrasting colors
```

### 2. 产品对比页

两种产品或方案的对比展示

```
Create a product comparison split screen:
1. Left panel: Product A with dark background, white text
2. Right panel: Product B with light background, dark text
3. Each side: product image, features list, price, CTA
4. Hover effect: hovered side expands slightly
5. Mobile: Stack with A on top
6. Center divider with "VS" badge
Use contrasting colors, balanced visual weight
```

### 3. 作品集项目页

左侧项目图片,右侧项目详情

```
Create a portfolio project page with split screen:
1. Left panel: Sticky full-height project image gallery
2. Right panel: Scrollable project details
3. Right content: title, description, tech stack, links
4. Image gallery with navigation dots
5. Mobile: Image at top, details below
6. Previous/Next project navigation at bottom
Use sticky positioning for image, smooth scroll for details
```

Soft Prompt

Preserves style direction, allows flexible implementation

STYLEKIT_STYLE_REFERENCE
style_name: Split Screen
style_slug: split-screen
style_source: /styles/split-screen

# Soft Prompt

Maintain the overall style essence. Implementation details can be adjusted flexibly, but do not deviate from the core visual language.

## Style Signals
- 分屏
- 对比
- 左右布局
- 对称
- 品牌
- 展示

## Prefer
- Use CSS Grid or Flexbox for split screen grid grid-cols-2
- Large screens maintain split, small screens stack lg:grid-cols-2 grid-cols-1
- Use contrasting or complementary content
- Visual elements on one side, text content on the other

## Avoid
- Do not have identical content on both sides (pointless split)
- Do not keep split layout on mobile (too narrow)
- Do not create severe visual weight imbalance between sides

## Output Guidance
- Ensure overall style recognizability first, then refine details.
- Avoid over-engineering; maintain readability and maintainability.

Component Templates

Component Preview

按钮

分屏布局中的对比按钮

Global Styles

Global CSS

css
/* Split Screen Global Styles */

/* Base split container */
.split-screen {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 100vh;
}

@media (min-width: 1024px) {
  .split-screen {
    grid-template-columns: 1fr 1fr;
  }
}

/* Ratio variants */
.split-screen-60-40 {
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  .split-screen-60-40 {
    grid-template-columns: 60fr 40fr;
  }
}

.split-screen-40-60 {
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  .split-screen-40-60 {
    grid-template-columns: 40fr 60fr;
  }
}

/* Panel styles */
.split-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem;
}

@media (min-width: 1024px) {
  .split-panel {
    padding: 4rem;
  }
}

/* Sticky scroll effect */
.split-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
}

/* Diagonal split */
.split-diagonal {
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}

@media (min-width: 1024px) {
  .split-diagonal {
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
  }
}

/* Hover reveal effect */
.split-hover-left:hover ~ .split-hover-right {
  flex: 0.3;
}

.split-hover-right:hover {
  flex: 0.7;
}

.split-hover-left, .split-hover-right {
  flex: 0.5;
  transition: flex 0.5s ease;
}
/* Split Screen Design Tokens */
:root {
  --split-screen-primary: #0f0f0f;
  --split-screen-secondary: #ffffff;
  --split-screen-accent: #ff4757;
  --split-screen-glow: rgba(15, 15, 15, 0.3);
}

@keyframes split-screen-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes split-screen-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.split-screen-card {
  position: relative;
  overflow: hidden;
}

.split-screen-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
  background: linear-gradient(135deg, rgba(15, 15, 15, 0.05), transparent);
  pointer-events: none;
}

.split-screen-card:hover::before {
  opacity: 1;
}

.split-screen-gradient {
  background: linear-gradient(135deg, #0f0f0f, #ff4757);
}

.split-screen-gradient-text {
  background: linear-gradient(135deg, #0f0f0f, #ff4757);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.split-screen-frosted {
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  background: rgba(15, 15, 15, 0.08);
}

.split-screen-animate-in {
  animation: split-screen-fade-in 0.5s ease-out both;
}

Compatible Visual Styles

Try Pairing

分屏布局 is a layout pattern that can be paired with the following visual styles.

新野兽派

Neo-Brutalist

极简扁平风

Minimalist Flat

编辑杂志风

Editorial

现代渐变风

Modern Gradient

几何大胆风

Geometric Bold

IDE Integration

IDE Configuration Export

Download configuration files for AI coding assistants to generate code in this style.

Style Pack

Export Style Pack

Get complete machine-readable style assets including design tokens, Tailwind presets, CSS variables, and shadcn/ui themes.

Metadata

Style metadata including version information

Design Tokens

Compatible with Figma / Style Dictionary / Tokens Studio

Tailwind Preset

Tailwind CSS theme preset, import directly in config

Global CSS

CSS variables and base styles

shadcn Theme

shadcn/ui theme configuration

CSS Variables

Pure CSS variables, works with any project

SKILL.md

Loadable skill pack for Cursor / Claude Code / VS Code

Design Philosophy

Split Screen is a layout approach that divides the viewport into two or more regions, creating visual tension and narrative effect through contrast.

Accessibility

Accessibility Score

WCAG 2.1 compliance analysis based on color contrast and typography readability.

65

Overall Score

Grade: C - Fair

Contrast Ratios

Score: 57/100Average Ratio: 7.79:1
AA FailAAA Fail
ContextColorsRatioAAAAA
Text on background
/#ffffff / #000000
21:1
Secondary text on background
/#18181b / #000000
1.19:1
Text on secondary background
/#ffffff / #ffffff
1:1
Secondary text on secondary
/#18181b / #ffffff
17.72:1
Button primary
/#ffffff / #000000
21:1
Text on accent 1
/#ffffff / #ff4757
3.34:1
Alt text on accent 1
/#18181b / #ff4757
5.31:1
Text on accent 2
/#ffffff / #2ed573
1.93:1
Alt text on accent 2
/#18181b / #2ed573
9.18:1
Text on accent 3
/#ffffff / #1e90ff
3.24:1
Alt text on accent 3
/#18181b / #1e90ff
5.47:1
Text on accent 4
/#ffffff / #ffa502
1.97:1
Alt text on accent 4
/#18181b / #ffa502
8.97:1

Readability

Score

83/100

Font Size

text-base md:text-lg

Font Weight

font-bold tracking-tight

Line Height

default

Scoring is based on WCAG 2.1 standards. AA requires 4.5:1 contrast for normal text, 3:1 for large text; AAA requires 7:1 for normal text, 4.5:1 for large text.

Design Recipes

Recommended Combinations with Split Screen

These curated recipes combine this style with layouts and animations, optimized for specific use cases.

Energetic Startup

Dynamic, growth-focused design for early-stage startups.

dopamine-designsplit-screen+3
modernplayfulanimated

StyleKit

A curated web design style library to help AI generate better-looking websites.

Navigation

StylesTemplatesGuideBlogChangelog

Resources

UI Design PromptsLanding Page PromptsDashboard PromptsTailwind UI PromptsDark Mode UI PromptsGitHub Repository

Stay Updated

By subscribing, you agree to our Privacy Policy and Terms.


Support Maintenance

If StyleKit helps your workflow, voluntary support helps cover servers, domains, and ongoing upkeep.

Scan to support / View all options

(c) 2026 StyleKit. Open source project.

AboutContactPrivacyTermsBuilt with the Editorial style
Stylekit前端样式库stylekit.top陕ICP备2025065501号-3