// purecss.com

CSS does more
than you think.

77 interactive UI patterns, zero JavaScript required.

examples
Pure CSS
JavaScript
Browse Examples ↓
What is Pure CSS?
Techniques that work without any JavaScript.
Does it work everywhere?
Modern browsers support all examples here.
Layout Beginner

Accordion / FAQ

Expandable content panels using the <details> and <summary> elements.
Examples
Pure CSS
Feedback Advanced

Animated Number Counter

Numbers that count up using @property, CSS counters, and animations.
Layout Beginner

Scroll Snap Carousel

A horizontal carousel using scroll-snap-type and scroll-snap-align.
Reading Progress
The Future of CSS Scroll-driven animations tie progress directly to scroll position, no JavaScript. The browser maps the scroll range automatically.
Navigation Advanced

Scroll Spy Indicator

A reading progress bar that tracks scroll position using CSS scroll-driven animations.
Name Role Status
Alice Chen Designer Active
Bob Torres Engineer Pending
Carol Kim Manager Active
David Park Analyst Inactive
Layout Beginner

Sticky Table Header

A table header that stays fixed while scrolling using position: sticky on <thead>.
Contents
Intro
Install
Usage
API
Intro
Sidebar uses position: sticky to stay visible while content scrolls.
Install
No dependencies. Copy CSS into your project.
Navigation Beginner

Sticky Sidebar

A sidebar that sticks to the viewport while scrolling using position: sticky.
Overview
Features
Pricing
Support
Overview
Vertical tabs organize content into logical sections. Click a tab label to switch panels.
Navigation Intermediate

Vertical Tabs

Vertical tabbed navigation using radio inputs and the :checked pseudo-class.
ℹPassword expires in 7 days.
✓Profile updated successfully.
⚠You have unsaved changes.
✕Connection failed.✕
Feedback Beginner

Alert Banners

Info, success, warning, and error alert variants styled with CSS custom properties.
What is CSS nesting? +
CSS nesting lets you write rules inside other rules, natively in the browser.
How does grid-template-rows work? +
Layout Intermediate

Expandable Card

A card that expands to reveal more content on click, with no JavaScript and no max-height hack.
Project Nightfall is our codename for the acquisition of Meridian Labs. The deal closes on March 14th for $240M.
// hover to reveal
Layout Beginner

Redacted Text

Sensitive text blurred by default and revealed on hover using CSS filter: blur(), with no JavaScript.
Pure CSS Zero JS Modern CSS Pure CSS Zero JS Modern CSS
CSS Nesting Container Q Scroll-Driven CSS Nesting Container Q Scroll-Driven
Layout Beginner

Marquee Text

Infinite scrolling text using CSS translateX and @keyframes, the modern replacement for the obsolete <marquee> tag.
⚡
Scroll-driven animations
No JavaScript required.
🎨
CSS custom properties
Dynamic theming in CSS.
📦
Container queries
Component-scoped layouts.
Layout Advanced

Scroll-Triggered Reveal

Elements fade and slide up as they enter the viewport using the CSS scroll-driven animation-timeline: view() property.
A
AJ
Alice JohnsonDesign
AM
Alex MorrisEngineering
AW
Amy WuMarketing
B
BC
Ben CarterEngineering
BL
Beth LeeDesign
C
CK
Chris KimProduct
CM
Clara MillsDesign
D
DJ
Dana JonesMarketing
DS
Drew SmithEngineering
Navigation Beginner

Sticky Section Headers

Section headings that pin to the top of the scroll area as you scroll past them, contacts-list style, in pure CSS.