Best For
parallax sections / parallax scrolling website / background-attachment fixed
An immersive layout creating depth parallax effects through fixed backgrounds and scrolling content, with each full-screen section having its own background layer. Ideal for brand stories, product showcases, and immersive experience pages.
Best For
parallax sections / parallax scrolling website / background-attachment fixed
Primary Move
Use bg-fixed to create fixed background parallax effect
Watch Out
No insufficient contrast between background images and content
AI Implementation
Use the Hard Prompt by default to generate UI. Use the Design Spec to understand, modify, and review the style. Use the Creative Brief for early exploration.
Use this by default: copy it, append the concrete requirement, and let AI generate consistent production UI.
When to use
How to use
STYLEKIT_STYLE_REFERENCE
style_name: Parallax Sections
style_slug: parallax-sections
style_source: /styles/parallax-sections
# Hard Prompt
## When To Use
Use this when you want AI to generate code with strict style consistency. It is the safest default for production UI.
## How To Use
- Copy the full prompt into ChatGPT, Claude, Cursor, or another coding assistant.
- Append the concrete product/page requirement after the prompt.
- After generation, check the forbidden rules and interaction states before accepting the output.
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
You are a Parallax Sections layout expert. Generated code must follow:
## Layout Rules
- Each section uses min-h-screen full-screen height
- Backgrounds use bg-fixed bg-cover bg-center
- Content uses semi-transparent backgrounds (bg-white/90 or bg-black/40 depending on scene) with backdrop-blur
- Navigation uses fixed + backdrop-blur-lg
## Forbidden
- Using bg-scroll (breaks parallax effect)
- Inconsistent section heights
- Insufficient contrast between background and content
## Animation & Interaction Rules
- Decoupled Depth: Foreground cards avoid large Y-axis floating, prioritize opacity and blur to reinforce depth of field feedback.
- Glass Glare: Can use gradient sweep layers that slowly appear on hover, simulating lens reflection.
- Cinematic Slowness: Interaction rhythm uses duration-500 to 700, maintaining narrative continuity and immersion.
- Immersive Focus: Active feedback prioritizes background brightness changes, avoiding obvious scaling that breaks layout stability.
## Layout & Spacing
- Section padding: py-16 md:py-24
- Card padding: p-6 md:p-8
- Gap between cards: gap-6 md:gap-8
- Max content width: max-w-6xl mx-auto
## Responsive Design
- Mobile-first approach with Tailwind breakpoints
- Stack elements vertically on mobile (flex-col), row on desktop (md:flex-row)
- Reduce font sizes on mobile: text-3xl md:text-5xl for headings
- Touch-friendly targets: min 44px for interactive elements
## Self-Check Verification
After generating code, verify:
1. All interactive elements have hover/focus/active states
2. Color contrast meets WCAG 2.1 AA (4.5:1 for text)
3. Layout is responsive across breakpoints
4. Typography hierarchy is clear (h1 > h2 > h3 > body)
5. Spacing is consistent using the defined scale
6. All animations respect prefers-reduced-motion
---
# Parallax Sections Design System
> An immersive layout creating depth parallax effects through fixed backgrounds and scrolling content, with each full-screen section having its own background layer. Ideal for brand stories, product showcases, and immersive experience pages.
## Design Philosophy
Parallax Sections creates depth through differential scrolling speeds between background and foreground, letting users experience a layered visual journey while scrolling.
Core principles:
- Depth layering: Fixed backgrounds with scrolling content create a three-dimensional spatial feel
- Immersive experience: Each section stands as its own scene, like flipping through a picture book
- Rhythm control: Full-screen sections control the user's browsing pace
- Visual focus: Each section highlights one primary information point
---
## Token Dictionary (exact class mapping)
### Border
```
Width: border
Color: border-white/20
Radius: rounded-2xl
```
### Shadow
```
sm: shadow-lg
md: shadow-xl
lg: shadow-2xl
hover: hover:shadow-2xl
focus: focus:shadow-xl
```
### Interaction
```
Hover translate: (none)
Hover scale: (none)
Hover opacity: hover:opacity-100
Transition: transition-all duration-300
Active: active:scale-95
```
### Typefaces
```
Heading: font-bold tracking-tight
Body: font-sans leading-relaxed
Mono: font-mono
```
### Type scale
```
Hero: text-6xl md:text-8xl
H1: text-5xl md:text-7xl
H2: text-4xl md:text-5xl
H3: text-2xl md:text-3xl
Body: text-lg md:text-xl
Small: text-sm
```
### Spacing
```
Section: py-0
Container: px-6 md:px-12
Card: p-8 md:p-12
Gap sm: gap-4
Gap md: gap-8
Gap lg: gap-12
```
### Color roles
```
Background primary: bg-[#1e3a5f]
Background secondary: bg-white/90
Background accent: bg-[#3b82f6], bg-[#93c5fd], bg-[#0ea5e9]
Text primary: text-white
Text secondary: text-[#1e3a5f]
Text muted: text-white/60
Button primary: bg-white/20 backdrop-blur-md text-white border border-white/30
Button secondary: bg-[#1e3a5f] text-white
```
---
## [FORBIDDEN]
These classes are banned in this style. Check for them before returning code:
### Banned classes
- `bg-scroll`
- `rounded-none`
- `shadow-none`
### Banned patterns
- matches `^bg-scroll`
### Why they are banned
- `bg-scroll`: Parallax Sections requires fixed backgrounds for depth effect
> WARNING: if your code contains any of the above, replace it before shipping.
---
## [REQUIRED]
### Every button must include
```
backdrop-blur-md
rounded-full
```
### Every card must include
```
backdrop-blur-sm
rounded-2xl
```
### Every input must include
```
backdrop-blur-md
rounded-full
```
---
## [COMPARE] Parallax Sections wrong vs right
The wrong examples below stand for generic library defaults that were never adapted to this style. Do not read them as visual suggestions.
### Button
[WRONG] **Wrong** (generic component library default, do not copy):
```html
<button class="{GENERIC_LIBRARY_BUTTON_DEFAULT}">
Click me
</button>
```
[CORRECT] **Right** (uses this style's tokens):
```html
<button class="backdrop-blur-md rounded-full bg-white/20 backdrop-blur-md text-white border border-white/30">
Click me
</button>
```
### Card
[WRONG] **Wrong** (generic card, not adapted to this style):
```html
<div class="{GENERIC_LIBRARY_CARD_DEFAULT}">
<h3>{TITLE}</h3>
</div>
```
[CORRECT] **Right** (uses this style's card tokens):
```html
<div class="backdrop-blur-sm rounded-2xl p-8 md:p-12">
<h3 class="font-bold tracking-tight text-2xl md:text-3xl">{TITLE}</h3>
</div>
```
### Input
[WRONG] **Wrong** (generic input, not adapted to this style):
```html
<input class="{GENERIC_LIBRARY_INPUT_DEFAULT}" />
```
[CORRECT] **Right** (uses this style's input tokens):
```html
<input class="backdrop-blur-md rounded-full" placeholder="{PLACEHOLDER}" />
```
---
## [TEMPLATES] Parallax Sections page skeletons
These skeletons use this style's tokens only. Replace `{PLACEHOLDER}` values, but keep every token in place:
### Navigation
```html
<nav class="bg-[#1e3a5f] text-white border border-white/20 px-6 md:px-12">
<div class="flex items-center justify-between max-w-6xl mx-auto gap-8">
<a href="/" class="font-bold tracking-tight text-2xl md:text-3xl">
{LOGO_TEXT}
</a>
<div class="flex gap-8 font-sans leading-relaxed text-sm">
{NAV_LINKS}
</div>
</div>
</nav>
```
### Hero section
```html
<section class="bg-[#3b82f6] text-white py-0 px-6 md:px-12">
<div class="max-w-4xl mx-auto">
<h1 class="font-bold tracking-tight text-6xl md:text-8xl">
{HEADLINE}
</h1>
<p class="font-sans leading-relaxed text-lg md:text-xl max-w-xl">
{SUBHEADLINE}
</p>
<button class="backdrop-blur-md rounded-full bg-white/20 backdrop-blur-md text-white border border-white/30">
{CTA_TEXT}
</button>
</div>
</section>
```
### Card grid
```html
<section class="bg-[#1e3a5f] text-white py-0 px-6 md:px-12">
<div class="max-w-6xl mx-auto">
<h2 class="font-bold tracking-tight text-4xl md:text-5xl">{SECTION_TITLE}</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Card template - repeat for each card -->
<div class="backdrop-blur-sm rounded-2xl p-8 md:p-12">
<h3 class="font-bold tracking-tight text-2xl md:text-3xl">{CARD_TITLE}</h3>
<p class="font-sans leading-relaxed text-lg md:text-xl text-white/60">{CARD_DESCRIPTION}</p>
</div>
</div>
</div>
</section>
```
### Form input
```html
<input class="backdrop-blur-md rounded-full" placeholder="{PLACEHOLDER}" />
```
### Footer
```html
<footer class="bg-white/90 text-[#1e3a5f] py-0 px-6 md:px-12">
<div class="max-w-6xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-12">
<div>
<span class="font-bold tracking-tight text-2xl md:text-3xl">{LOGO_TEXT}</span>
<p class="font-sans leading-relaxed text-sm">{TAGLINE}</p>
</div>
<div>
<h4 class="font-bold tracking-tight text-2xl md:text-3xl">{COLUMN_TITLE}</h4>
<ul class="font-sans leading-relaxed text-sm">
{FOOTER_LINKS}
</ul>
</div>
</div>
</div>
</footer>
```
---
## [CHECKLIST] Parallax Sections post-generation self check
**Before returning code, verify every token and rule below. Fix any violation before delivering:**
### Token check
- [ ] Button includes: `backdrop-blur-md rounded-full`
- [ ] Card includes: `backdrop-blur-sm rounded-2xl`
- [ ] Input includes: `backdrop-blur-md rounded-full`
### Forbidden check
- [ ] Not using `bg-scroll`
- [ ] Not using `rounded-none`
- [ ] Not using `shadow-none`
### Style rule check
- [ ] Use bg-fixed to create fixed background parallax effect
- [ ] Each section uses min-h-screen full-screen height
- [ ] Content areas use semi-transparent backgrounds bg-white/90 for readability
- [ ] Use sticky top-0 for sticky scroll effects
- [ ] Background images use bg-cover bg-center to maintain proportions
### Style drift check
- [ ] Does not violate: No insufficient contrast between background images and content
- [ ] Does not violate: No inconsistent section heights that break rhythm
- [ ] Does not violate: No excessive parallax layers causing performance issues
- [ ] Does not violate: No ignoring mobile parallax degradation handling
- [ ] Does not violate: No overly dense content that breaks focus
### Delivery check
- [ ] Responsive layout holds on phone, tablet and desktop with no horizontal overflow
- [ ] Every interactive element has a visible focus state, an accessible name and a reduced-motion path
- [ ] Text contrast meets WCAG AA and colour alone never carries state
- [ ] The result is still recognizable at a glance as Parallax Sections
## Absolute Bans (Match and Refuse)
If any of the following patterns appear, it is a style violation — rewrite without exception.
- No insufficient contrast between background images and content
- inconsistent section heights that break rhythm
- excessive parallax layers causing performance issues
- ignoring mobile parallax degradation handling
- overly dense content that breaks focus
- large vertical card hover jumps (background already has displacement, foreground should be restrained)
- short, abrupt animations (would break immersive narrative)
## Self-Check (Verify Before Shipping)
If any item fails, the style has drifted — fix before shipping.
- [ ] No purple-to-blue gradients
- [ ] No overused fonts (Inter, Roboto, Geist, Fraunces, Plus Jakarta Sans)
- [ ] No nested cards (cards inside cards)
- [ ] No gray text on colored backgrounds
- [ ] Body text contrast meets WCAG AA (>= 4.5:1)
- [ ] No bounce or elastic easing curves
- [ ] Animations have a prefers-reduced-motion fallback
- [ ] Body text line length capped at 65-75 characters
- [ ] No side-stripe accent borders (border-left/right > 1px)
- [ ] No gradient text (background-clip: text)
- [ ] No glassmorphism used as the default surface treatment
- [ ] No tiny uppercase tracked eyebrow labels above every section heading
- [ ] No no insufficient contrast between background images and content
- [ ] no inconsistent section heights that break rhythm
- [ ] no excessive parallax layers causing performance issues
- [ ] no ignoring mobile parallax degradation handling
- [ ] no overly dense content that breaks focusMore prompt libraries: All UI Prompts · Tailwind UI Prompts · Dark Mode UI Prompts
Component Templates
带模糊背景的沉浸式按钮,强调玻璃态光学变化
Frontend Readiness
This layer tracks whether the style is ready for real websites: theme modes, state feedback, keyboard access, and performance constraints.
Overall
51%
Fallback
Dark Mode
0%
MissingUI States
79%
PartialMotion
70%
PartialA11y
70%
PartialPerformance
35%
FallbackButton
Default / Hover / Focus Visible / Active / Disabled
Input
Default / Hover / Focus Visible / Disabled / Error
Card
Default / Hover / Focus Visible / Loading / Skeleton
Form
Default / Focus Visible / Disabled / Loading / Error
FAQ
/* Parallax Sections 全局样式 */
.parallax-sections {
--ps-primary: #1e3a5f;
--ps-light: #93c5fd;
--ps-accent: #3b82f6;
}
.parallax-section {
background-attachment: fixed;
background-size: cover;
background-position: center;
}
@keyframes parallax-sections-fade-in {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes parallax-sections-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
.parallax-sections-card {
position: relative;
overflow: hidden;
}
.parallax-sections-card::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.3s ease;
background: linear-gradient(135deg, rgba(30, 58, 95, 0.05), transparent);
pointer-events: none;
}
.parallax-sections-card:hover::before {
opacity: 1;
}
.parallax-sections-gradient {
background: linear-gradient(135deg, #1e3a5f, #3b82f6);
}
.parallax-sections-gradient-text {
background: linear-gradient(135deg, #1e3a5f, #3b82f6);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.parallax-sections-frosted {
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
background: rgba(30, 58, 95, 0.08);
}
.parallax-sections-accent-corner {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}
.parallax-sections-animate-in {
animation: parallax-sections-fade-in 0.5s ease-out both;
}Compatible Visual Styles
Parallax Sections is a layout pattern that can be paired with the following visual styles.
Related Styles
Explore these styles for ready-made tokens and components.
IDE Integration
Download configuration files for AI coding assistants to generate code in this style.
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
Parallax Sections creates depth through differential scrolling speeds between background and foreground, letting users experience a layered visual journey while scrolling.
WCAG 2.1 compliance analysis based on color contrast and typography readability.
Overall Score
Grade: D - Poor
Contrast Ratios
| Context | Colors | Ratio | AA | AAA |
|---|---|---|---|---|
| Text on background | /#ffffff / #1e3a5f | 11.5:1 | ||
| Secondary text on background | /#1e3a5f / #1e3a5f | 1:1 | ||
| Text on accent 1 | /#ffffff / #3b82f6 | 3.68:1 | ||
| Alt text on accent 1 | /#1e3a5f / #3b82f6 | 3.13:1 | ||
| Text on accent 2 | /#ffffff / #93c5fd | 1.8:1 | ||
| Alt text on accent 2 | /#1e3a5f / #93c5fd | 6.38:1 | ||
| Text on accent 3 | /#ffffff / #0ea5e9 | 2.77:1 | ||
| Alt text on accent 3 | /#1e3a5f / #0ea5e9 | 4.15:1 |
Readability
Score
83/100
Font Size
text-lg md:text-xl
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
These curated recipes combine this style with layouts and animations, optimized for specific use cases.