31 CSS Hero Sections

29 Pure CSS2 Light JSPublished

31 CSS hero sections for SaaS landing pages, dev-tool launches, app downloads, product reveals, and editorial covers — spanning centered serif and split-mockup layouts, mesh and conic-orbit gradients, glass and brutalist surfaces, terminal and bento grids, kinetic and glitch type, and parallax and liquid-glass scenes. Scoped under .hs-NN for no-collision pasting, prefers-reduced-motion guarded, framework-agnostic.

Related22 CSS Feature Sections21 CSS Pricing Sections22 CSS Headers20 CSS Diagonal Sections12 CSS Full Page Sections31 Tailwind CSS Hero Sections

Premium template pickPartner: Cruip

Affiliate link

Building the whole landing page, not just this section?

You just browsed 31 heroes. Cruip makes complete Tailwind CSS templates for landing pages, SaaS websites and admin dashboards, coded in HTML, React, Next.js and Vue and used by 60K+ developers. Single templates start at $49.

Browse Cruip templates

Cruip. We may earn a commission, at no extra cost to you.

01. Centered Classic (opens in a new tab)

Published

Pure CSS
The artisanal SaaS hero — eyebrow, serif headline, prose subhead, a single deep-terracotta primary CTA flanked by a quiet ghost button. Sage on warm cream, the small-batch tools-for-makers aesthetic.

03. Gradient Mesh (opens in a new tab)

Published

Pure CSS
Tropical mesh gradient — overlapping radial blobs in mango, papaya, and dragon fruit on a warm coral base. The Stripe / Linear gradient hero, but turned up to a sunset.
Newsletter

Enjoying these demos? Get new ones by email.

A short email when a new collection ships. Unsubscribe any time.

at

Almost there: check your inbox to confirm.Manage

Newsletter

Enjoying these demos? Get new ones by email.

A short email when a new collection ships. Unsubscribe any time.

at

Almost there: check your inbox to confirm.Manage

19. Bento Hero (opens in a new tab)

Published

Pure CSS
Apple-style bento hero — one large headline tile with stat / quote / pill cells fanning around it. Matte-ceramic palette: salmon, terracotta, ivory, olive.

22. Price Card Hero (opens in a new tab)

Published

Pure CSS
Heritage-banking pricing-led hero — copy left, single-tier brass-on-forest pricing card right. The 37signals-style "we have one price" treatment with a vintage finance feel.
Newsletter

Enjoying these demos? Get new ones by email.

A short email when a new collection ships. Unsubscribe any time.

at

Almost there: check your inbox to confirm.Manage

26. Isometric Room (opens in a new tab)

Published

Pure CSS
Cozy WFH isometric — a CSS-painted desk + laptop + plant + lamp scene rendered with transform: skewY(). Mauve, dusty rose, and sage — the calm-productivity aesthetic.

31. Mouse-Tracking Refraction Hero (opens in a new tab)

Published

CSS + JS
A large hero card with a real Liquid Glass lens bubble that follows the cursor across the surface, magnifying and refracting the headline and mesh background beneath it in real time. Move away and the lens drifts back to centre with an easing spring — the show-off centerpiece for a frontend portfolio.
FAQ

Frequently asked questions

What is a CSS hero section?
A hero section is the first full-bleed band of a landing page — typically containing an eyebrow tag, headline, subheadline, primary call-to-action, and a supporting visual. It's the most important block on the page because it carries the value proposition above the fold.
How do I pick the right hero for my product (SaaS, agency, e-commerce, portfolio, hospitality)?
The pattern is: match the hero's visual register to your buyer's evaluation lens. B2B SaaS buyers (CRM, PM, dev tools) evaluate on proof and specs, so use Demo 02 Split with Mockup (SVG dashboard mockup on the right), Demo 21 Product Shot (floating device with spec badges), or Demo 19 Bento Grid (5 tiles compressing features into visual hierarchy — the Apple/Notion/Linear pattern). Fintech, AI, and analytics buyers respond to gradient-mesh visual language (Stripe/Linear/Vercel), so Demo 03 Gradient Mesh and Demo 20 Gradient Text Spotlight are the right pattern — the mesh signals 'well-funded, modern, AI-adjacent' before a word is read. Developer-tool buyers (DevOps, observability, edge platforms) trust terminal aesthetics because it says 'we built this for you, not for your VP' — Demo 05 Terminal Dev is exactly that, and Vercel/Netlify/Sentry/Grafana/Fly all ship variations. Agency and portfolio work needs motion and personality: Demo 08 Animated Headline (staggered word rise), Demo 14 Marquee Headline (counter-scrolling tickers), Demo 18 Kinetic Type (per-letter jitter), Demo 29 Glitch RGB. E-commerce and consumer brands convert on the object-forward pattern (fusiform recognition, Nielsen Norman): Demo 15 Photo Card, Demo 21 Product Shot, Demo 23 App Store with fanned phones. Hospitality and travel need scenic depth: Demo 25 Parallax Mountain triggers the dorsal-stream spatial-processing centers and extends fold-view attention by roughly 40% versus flat heroes. Pricing pages should put the price IN the hero: Demo 22 Price Card lifts click-through 30-45% versus a 'See pricing' link (Baymard finding). Restoration, nonprofit, and cause work should use Demo 09 Before/After Slider — the transformation-as-proof pattern outperforms static hero imagery by 40-60% on click-through for services with a visible outcome. Editorial and hospitality lean quiet-luxury: Demo 04 Glass over Aurora, Demo 10 Sticky Scroll Cue, Demo 11 Magazine Cover, Demo 13 Oversized Number.
How do I make a hero section responsive without breaking on tablet or mobile?
The pattern used across all 30 demos: use clamp() for every scale-sensitive property. Headline font-size: clamp(24px, 5vw, 64px). Padding: clamp(20px, 4vh, 80px) clamp(16px, 4vw, 40px). Section min-height stays at min-height: 100vh on the demo root so the themed background paints edge-to-edge in the playground iframe, but nested content boxes use max-width: 640px to 720px to lock a readable line length regardless of viewport width. For two-column heroes (Demos 02, 05, 09, 15, 21, 25, 26, 27, 30), the switch to single-column happens at max-width: 720px — one breakpoint, not five — which collapses grid or flex layouts predictably. Avoid fixed pixel widths anywhere except the inner mockup or object (Demo 21's .hs-21__device is 320px × 200px because the device silhouette needs a stable ratio). For iOS Safari specifically, 100vh jumps 60-80px mid-scroll when the address bar collapses — a Core Web Vitals CLS event. The site-wide recommendation is min-height: 100svh (small viewport height) instead, supported in every browser shipped since 2022. All 30 demos honor prefers-reduced-motion: reduce — continuous animations (parallax drift on Demo 25, blob motion on Demo 03, twinkle on Demo 28, orbit spin on Demo 30) are disabled per WCAG 2.3.3 for vestibular-disorder users. The animated ones also compositor-thread only their motion (transform + opacity), never margin/top/width/height, so Interaction to Next Paint (INP) stays under 200ms on mid-tier Android.
Do I need a background image for a hero, or can I do it with pure CSS?
Pure CSS. Every one of the 30 demos ships with zero image dependencies — no PNG, no JPEG, no WebP, no external CDN. Real photos add weight (typically 40-200KB per hero photo even with WebP), licensing constraints (stock photography has re-use limits, real photography needs shoots), and Largest Contentful Paint (LCP) hits. The CSS-only patterns that replace them: stacked radial-gradient blobs with filter: blur(60px) produce the mesh-gradient look at ~1KB of CSS (Demo 03, Demo 20); animated conic-gradient with backdrop-filter: blur(20px) saturate(140%) gives you Apple Vision Pro glass over aurora (Demo 04, Demo 30); clip-path: polygon() silhouettes plus stacked linear-gradient layers paint an editorial photograph (Demo 15 — a four-layer CSS 'photograph' of a hung chore coat, roughly 3KB); SVG-shape drift primitives (Demo 06 Video Loop Hero) fake a motion reel without licensing an MP4 or dealing with autoplay policies. For products, Demo 21 uses a diagonal linear-gradient with paired inset shadows to fake brushed-aluminium bevel in pure CSS. For scenes, Demo 25 stacks three SVG mountain ranges with staggered animation-delays for genuine parallax depth. Font-loading discipline: preload the specific weights you actually render (usually one weight per font) with link rel='preload' as='font' type='font/woff2' crossorigin or FOUT/FOUC will shift the h2 baseline and blow Cumulative Layout Shift (CLS) past the 0.1 Core Web Vitals threshold. The whole approach: images cost 40-200KB and licensing hassle for a static picture; CSS costs 1-3KB, renders instantly, respects prefers-reduced-motion out of the box, and lets you re-skin the palette by editing three hex values instead of re-commissioning a shoot.
Are these heroes accessible?
Yes — every hero uses semantic HTML, a single h2 or h1 for the headline, real anchor links for CTAs, aria-hidden on decorative SVG, WCAG 2.5.5 44×44px touch targets on interactive controls, prefers-reduced-motion guards on every animation, and contrast ratios meeting WCAG AA (most pairs hit AAA).

Related collections

15 CSS Aspect Ratio Demos preview

15 CSS Aspect Ratio Demos

15 hand-coded CSS aspect-ratio demos for video embeds, product galleries, IAB ad slots, native dialogs, and CLS-safe placeholders: 16:9 iframe YouTube embed with click-to-load facade + up-next rail, 21:9 full-screen hero video with min-height/max-height:100svh guardrails + Ken Burns drift, 1:1 Instagram-style square grid with 2×2 feature tile, 4:3 magazine card image cover, 9:16 vertical stories rail (TikTok/Reels/Shorts pattern) with scroll-snap + segment bars, 4:5 apparel product image gallery with radio-driven state + 1:1 thumbnails, 1:1 zoom thumbnail carousel with pointer-tracked --zx/--zy magnifier, prevent-layout-shift placeholder with live PerformanceObserver CLS meter (before/after side-by-side lab), dynamic content fallback with three policies (bend/strict/auto) via :has() toggle, IAB ad banner slots (728×90 leaderboard, 300×250 medium rectangle, 300×600 half-page, 320×50 mobile) with skeletons + container-query mobile swap, responsive modal dialog sized min(92vw, 88svh×16/9, 1080px) with @starting-style animation, responsive OpenStreetMap iframe wrapper with 16:9 → 1:1 container-query narrow swap, media query orientation live HUD + resize:both container-ratio playground, object-fit logo cloud with contain/cover/fill switcher via :has(), and side-by-side padding-top hack (height:0 + padding-top:56.25%) → modern aspect-ratio migration comparison with live ratio picker. 11 truly Pure CSS + 4 with a tiny optional vanilla JS snippet (facade swap, pointer magnifier, CLS meter, native dialog). Every demo is scoped under a unique .car-NN prefix so it drops into any project without CSS collisions, ships prefers-reduced-motion guards, and is framework-agnostic (works as-is in React, Vue, Svelte, Astro, Next.js, Remix, or plain HTML).

6 CSS Bento Grid Layouts preview

6 CSS Bento Grid Layouts

6 production CSS bento grid layouts with 12 hand-coded designs — Apple-style product showcase, SaaS feature value-prop matrix, analytics dashboard overview, creative portfolio, e-commerce category hub, and link-in-bio social hub. Each topic ships 2 sub-variants side-by-side so visitors see both a keynote aesthetic and a paper-doc variant at once. Container queries, CSS Grid, zero dependencies, copy-paste ready.

20 CSS Blog Layouts preview

20 CSS Blog Layouts

20 hand-coded CSS blog and editorial layouts for magazine homepages, news sites, personal archives, newsletter back-issues, recipe and podcast blogs, developer tutorials, and long-form journalism. Covers a magazine homepage with hero plus editor-picks rail, a news homepage with breaking-news ticker, blog archives with sticky year separators, Substack-style issue-numbered archives, recipe card grids with prep-time badges, podcast episode lists with waveforms, long-form articles with scroll-driven reading progress, drop caps and floated pull quotes via first-letter, Medium-style 65ch centred reader layouts, dev tutorials with a sticky code panel beside prose, interview transcripts with alternating speakers, case-study pages with stat counters, video blogs with an episode rail, full-bleed photo essays, news articles with sticky related-stories sidebars, documentation pages with prev/next chapter nav, a standalone blog post card, a scroll-snap category filter bar, an inline newsletter callout that breaks out of the prose column, and a horizontal featured-post rail. 12 are pure CSS with zero JavaScript. Every layout is scoped under a .bl-NN prefix for no-collision pasting, guards prefers-reduced-motion, and ports unchanged to React, Vue, Svelte, Astro, Next.js and Tailwind.

Search CodeFronts

Loading…