20 hand-coded CSS card templates for e-commerce, SaaS, editorial, and dashboard surfaces — Shopify product tile with swatches and quick-add, three-tier SaaS pricing row with anchored "Most Popular" middle plan, Zillow property listing with walk/transit rings, Booking hotel card with 4-photo gallery, Vercel-style blog index, G2 testimonial with verified proof, YouTube video preview with LIVE badge, GitHub-Trending leaderboard, Read.cv team profile, Vercel Analytics KPI with gradient sparkline, 3D flip business card, champagne-glass premium tile, Cursor/Warp AI console with rotating laser border, SNKRS drop card, and a Linear workspace switcher with 3-card cascade fan — plus nine more. Every layout is a real semantic <article> with WCAG 2.5.5 44×44px touch targets and :focus-visible on every interactive. Scoped under .card-NN for no-collision pasting, prefers-reduced-motion guarded, framework-agnostic (Tailwind + React / Vue / Next mappings documented per demo).

20 pure CSSPublished

Related33 CSS Card Hover Effects36 CSS Stacked Cards18 CSS Product Cards25 CSS Testimonials & Reviews

Product Grid Card — preview
01 / 20Pure CSS

Product Grid Card

E-commerce product tile with CSS-drawn kettle silhouette, NEW badge, star rating, strikethrough price, and add-to-cart CTA on a warm peach gradient.

PublishedUpdated

Pricing Tier Card — preview
02 / 20Pure CSS

Pricing Tier Card

Three-tier SaaS pricing row with a lifted, glowing "Most Popular" middle plan. Stacks to one column under 640px, indigo accent, real feature lists.

PublishedUpdated

Recipe Food Card — preview
03 / 20Pure CSS

Recipe Food Card

Recipe tile with CSS-drawn salmon-on-rice plate, prep time / servings / difficulty meta, star rating, cuisine chip, tag pills, and a 44×44 bookmark button.

PublishedUpdated

Real Estate Property Card — preview
04 / 20Pure CSS

Real Estate Property Card

Property listing tile with a CSS-drawn townhouse under a golden-hour sky, NEW badge, save-heart, price, address, specs list, and listing agent block.

PublishedUpdated

Hotel Travel Booking Card — preview
05 / 20Pure CSS

Hotel Travel Booking Card

Hotel booking tile with CSS-drawn arched lobby, amenity pills with icons, nightly + total pricing, guest/date summary, primary book CTA and secondary details link.

PublishedUpdated

Blog Post Preview Card — preview
06 / 20Pure CSS

Blog Post Preview Card

Blog preview tile with 16:9 cosmic thumbnail, category chip, author + date meta, and a "Read more →" link whose arrow slides on hover.

PublishedUpdated

Horizontal Article Card — preview
07 / 20Pure CSS

Horizontal Article Card

Landscape article preview: cosmic thumbnail on the left, eyebrow + headline + description + meta on the right. Stacks under 640px.

PublishedUpdated

Testimonial Review Card — preview
08 / 20Pure CSS

Testimonial Review Card

Customer quote card with 5 amber stars, a decorative giant serif quote-mark backdrop, blockquote, and cited avatar + name + role with a mini brand mark.

PublishedUpdated

Video Playback Preview Card — preview
09 / 20Pure CSS

Video Playback Preview Card

Video thumbnail with 56×56 glass play button, duration pill, title, creator row and view count meta. Play button scales on hover.

PublishedUpdated

Leaderboard Ranking Widget — preview
10 / 20Pure CSS

Leaderboard Ranking Widget

Top-contributors leaderboard using CSS counters. Ranks 1-3 render in gold/silver/bronze gradient text; top row gets a subtle accent tint.

PublishedUpdated

Team Member Profile Card — preview
11 / 20Pure CSS

Team Member Profile Card

Centered team-profile tile with 72px gradient avatar, name, role, one-line bio, and a row of 44×44 social icon links (GitHub, LinkedIn, X).

PublishedUpdated

SaaS Feature Highlight Card — preview
12 / 20Pure CSS

SaaS Feature Highlight Card

Dark feature tile with 44×44 gradient icon tile, "NEW" chip, headline, one-line description, and a "Learn more →" link whose arrow slides on hover.

PublishedUpdated

Interactive Digital Business Card — preview
13 / 20Pure CSS

Interactive Digital Business Card

Landscape vCard: 48px avatar + name/role on the left, address block with tap-to-email + tap-to-call and a Save vCard pill on the right. Radial accent glow top-right.

PublishedUpdated

Portfolio Project Card — preview
14 / 20Pure CSS

Portfolio Project Card

Portfolio tile with a CSS-drawn dashboard mockup (top bar, side nav, KPI row, bar chart), category chip, project title, description, tags, and a client + "View project →" footer.

PublishedUpdated

Analytics Dashboard Stat Card — preview
15 / 20Pure CSS

Analytics Dashboard Stat Card

Dark KPI card: metric label, big currency value, up-arrow trend delta with muted comparator, static SVG sparkline, and 7D/30D/90D tabs.

PublishedUpdated

3D Flip Business Card — preview
16 / 20Pure CSS

3D Flip Business Card

Landscape business card that flips on hover AND focus-within (keyboard-accessible). Front shows avatar + name, back shows email/phone/site links. Reduced-motion disables the flip.

PublishedUpdated

Glassmorphism SaaS Card — preview
17 / 20Pure CSS

Glassmorphism SaaS Card

Frosted-glass tile on a violet/cyan/magenta aurora backdrop. Rounded icon tile, Premium chip, headline, description, and a gradient-bordered Upgrade CTA.

PublishedUpdated

Gradient Border Glow Card — preview
18 / 20Pure CSS

Gradient Border Glow Card

Dark card wrapped in a slowly rotating conic-gradient border with an outer bloom halo. Reduced-motion freezes the spin.

PublishedUpdated

3D Pop-Out Character Card — preview
19 / 20Pure CSS

3D Pop-Out Character Card

Sneaker product tile with a resting 3D tilt. On hover the card tilts further and the CSS-drawn sneaker pops up out of the frame with a widening shadow.

PublishedUpdated

Stacked Card Cascade — preview
20 / 20Pure CSS

Stacked Card Cascade

Three overlapping project cards. On hover / focus-within the top card lifts and the two behind fan out and rotate — a Trello-style stack peek. Keyboard-accessible.

PublishedUpdated

FAQ

Frequently asked questions

What is a CSS card component?
A CSS card is a self-contained container that groups related content — typically an image, headline, meta text, and action — into a single tappable unit. Cards are the most-copied UI pattern on the web: every e-commerce product tile, pricing plan, blog preview, testimonial, real estate listing, dashboard KPI, and video thumbnail is a card. This gallery ships 20 hand-coded examples covering the exact patterns developers Google for by name.
How do I pick the right CSS card for my use case (e-commerce, SaaS, blog, real estate, hotel, dashboard, portfolio, or a visual-effect card)?
Match the pattern to the content and audience. E-commerce and marketplace grids ship Demo 01 [Product Grid Card](/components/css-product-cards/) (image, price, star rating, add-to-cart — the Shopify/Amazon/Everlane convention, with Kahneman anchoring via strikethrough price and a NEW badge that Baymard research shows lifts click-through 8-12%). SaaS pricing pages ship Demo 02 Pricing Tier Card (three-plan row with a lifted 'Most Popular' middle tier — the Iyengar three-option decoy-effect sweet spot, ~30-40% middle-tier selection lift per Baymard). Recipe sites and food apps ship Demo 03 Recipe Food Card (cook time, servings, difficulty in a symmetric grid — Kahneman cognitive fluency plus Baymard cook-time-first scanning). Real estate portals (Zillow, Redfin, Compass) ship Demo 04 Real Estate Property Card (price-first hierarchy, beds/baths/sqft, agent, save-heart — non-negotiable price hierarchy per Zillow usability research). Booking platforms ship Demo 05 Hotel Travel Booking Card (rating, amenities, nightly rate, guest/date summary, total price — Booking.com A/B-validated total-price transparency lever). Editorial and publisher grids ship Demo 06 Blog Post Preview Card (cosmic thumbnail, category, author, read-time — the Vercel/Linear/Stripe blog register) or Demo 07 Horizontal Article Card (landscape Medium/Substack layout that stacks vertically on mobile). Landing pages and product marketing pages ship Demo 08 Testimonial Review Card (five stars, blockquote, author with role and company — Cialdini social-proof stacking) or Demo 12 SaaS Feature Highlight Card (icon tile, title, arrow-slide learn-more link — the Linear/Notion/Figma feature-grid register). Media and content platforms ship Demo 09 Video Playback Preview Card (16:9 thumbnail, centered play button, duration pill, creator row — YouTube CTR convention: thumbnail → title → duration → creator scan order). Community and open-source sites ship Demo 10 Leaderboard Ranking Widget (top-5 contributors with CSS counters and gold/silver/bronze gradient rank numbers — GitHub-trending register). Team and about pages ship Demo 11 Team Member Profile Card (avatar, role, bio, social row — Slovic identifiability effect where a named face converts 30-40% harder than abstract team blocks). Contact and CRM UIs ship Demo 13 Interactive Digital Business Card (vCard landscape layout with mailto and tel links — the Cardd/Apple Contacts register). Designer and dev portfolios ship Demo 14 Portfolio Project Card (CSS-drawn dashboard mockup thumbnail that scales on hover, concrete metric like '41% faster time-to-insight' as Cialdini authority signal). Analytics and admin dashboards ship Demo 15 Analytics Dashboard Stat Card (KPI tile with big number, trend delta, and mini sparkline — the Stripe Sigma/Amplitude/Vercel Analytics register, no motion because dashboards need trust not delight). The visual-effect cards land on landing pages and hero sections where 'this feels premium' is the pitch: Demo 16 3D Flip Business Card (flips on hover AND focus-within so keyboard users can access the back), Demo 17 Glassmorphism SaaS Card (backdrop-filter frost over an aurora background — the Apple Vision Pro / Stripe checkout register), Demo 18 Gradient Border Glow Card (rotating conic-gradient border with outer bloom — the AI SaaS launch tile visual dialect used by Vercel v0 and Anthropic feature drops), Demo 19 3D Pop-Out Character Card (product tile with subject scaling beyond the photo frame — creative e-commerce microsite pattern used by Nike and Airbnb), and Demo 20 [Stacked Card Cascade](/components/css-stacked-cards/) (three-card task stack that fans open on hover — the Notion/Linear task-list convention that signals 'there's more here').
How do I make a CSS card responsive and accessible without breaking on mobile?
The pattern across all 20 demos: use clamp() for scale-sensitive properties and min-height: 100vh; width: 100%; display: block on the demo root so the themed background paints edge-to-edge in the /try/ playground iframe (a bug that ships in most legacy CSS gallery sites). Nested card interiors use max-width: 320-380px for readability with margin-left: auto; margin-right: auto for horizontal centering. Grid layouts (Demo 02 Pricing three-column, Demo 07 Horizontal Article two-column) collapse to single column at max-width: 640px — one breakpoint, not five. For iOS Safari specifically, 100vh jumps 60-80px mid-scroll when the address bar collapses (a Core Web Vitals CLS event); use min-height: 100svh (small viewport height) instead — supported in every browser since 2022. All interactive controls hit WCAG 2.5.5 44×44px minimum touch targets: add-to-cart buttons, save-heart icons on property and hotel cards, play buttons on video cards, RSVP buttons, follow buttons, download buttons. Every continuous animation is guarded by @media (prefers-reduced-motion: reduce) — the conic-gradient rotation on Demo 18 Gradient Border, the 3D flip on Demo 16, the pop-out scale on Demo 19, the cascade fan on Demo 20 all respect the pref. WCAG 2.3.3 (Animation from Interactions) is non-negotiable; ship the guard on every keyframe-driven demo. All text contrast pairs meet WCAG 1.4.3 AA (4.5:1 for normal text, 3:1 for large 18px+ or 14px bold) — the muted-support text on some demos sits right at the AA edge, so bump one shade darker if your compliance target is AAA (procurement checkbox on enterprise SaaS). Every SVG icon carries aria-hidden="true" (decorative — the text next to it carries meaning), except star ratings where the container has role="img" aria-label="Rated 4.8 out of 5 by 127 reviewers" so screen readers announce the semantic rating. Every button is a real button type='button' element (not a div with a click handler), every link is a real anchor with href — WCAG 4.1.2 name/role/value satisfied by default without extra ARIA.
Should CSS cards use CSS Grid or Flexbox for the layout inside the card?
Both work, and the right pick depends on the internal shape. Use CSS Grid when the card needs multi-dimensional alignment — Demo 04 Real Estate Property Card's specs strip (beds/baths/sqft) uses display: grid; grid-template-columns: repeat(3, 1fr) because it needs equal-width columns AND equal-height rows for the dt/dd pairs. Demo 07 Horizontal Article Card uses grid-template-columns: 200px 1fr for the image-plus-text split, then flips to grid-template-columns: 1fr under 640px for mobile stacking — Grid handles this without changing the DOM order or reflow-shifting. Demo 15 Analytics Dashboard Stat Card uses grid for the 7D/30D/90D timeframe tab row. Use Flexbox when the card is a one-dimensional stack or row — Demo 01 Product Grid Card's body is a vertical flex column so the CTA button sinks to the bottom regardless of feature-list length. Demo 08 Testimonial Review Card's cite row uses display: flex; align-items: center; gap: 12px to align avatar and author-meta. Demo 20 Stacked Card Cascade's meta row uses flex for overlapping avatars. Rule of thumb: grid for tables and split layouts, flex for stacks and rows. Both are supported in every browser since IE11 (Grid since 2017), so there's no compatibility trade-off. For the card grid layout AROUND these cards on your own page (product listings, blog archives), use CSS Grid with grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px — the browser handles wrap points automatically as viewport width changes.
Are these CSS cards free to use, and do they work in React, Vue, Svelte, or Next.js?
Yes on both. Every card is MIT licensed — free for personal and commercial projects, no attribution required (though a link back is always appreciated). Every demo is plain HTML and CSS with no build step, no dependencies, no framework lock-in. Drop the HTML into a React component's JSX (React's className instead of class), a Vue single-file component's template, a Svelte component, or an Astro island — the CSS ships as a scoped module, an inline style block, or a Tailwind arbitrary-value paste (each demo's customization notes cover the Tailwind mapping). The 3D Flip Business Card (Demo 16) uses :focus-within for keyboard accessibility which works out of the box in React and Vue. The pricing card (Demo 02), video card (Demo 09), and vote card (Demo 20) use only CSS pseudo-classes for state, so React state hooks and Vue refs aren't needed. Frameworks with strict CSP (Content-Security-Policy script-src 'self' without 'unsafe-inline') will block inline onclick — none of these demos use inline handlers, so CSP is satisfied by default. React StrictMode double-mount doesn't affect any of the CSS-only demos. Next.js App Router streaming SSR renders these cards on the server without hydration flash — verified across the 20 demos. Vue 3 v-model bindings for form-like cards (Demo 15's timeframe tabs, if you make them stateful) should bind class instead of value to avoid fighting the CSS state. See each demo's gotchas notes for framework-specific edge cases.

Related collections

15 CSS 3D Tilt Hover Cards preview

15 CSS 3D Tilt Hover Cards

15 mouse-aware 3D tilt hover cards — e-commerce product spotlight, glassmorphism parallax team card, interactive pricing tier, holographic NFT collectible, pop-out mascot, dark tech grid with border glow, media player album art, blog article preview, cyberpunk neon glow, dashboard KPI widget, minimalist real estate, flip-to-back tilt, mobile app showcase, course learning card, and a Pure CSS touch-friendly tilt. Vanilla JS writes --rx/--ry/--mx/--my; all rendering stays in CSS on the GPU.

24 CSS Animated Cards preview

24 CSS Animated Cards

24 hand-coded CSS animated card patterns organised by what triggers the motion, not by card style. Scroll and entrance triggers: staggered grid reveals, @starting-style mount-in, scroll-driven scale and fade on animation-timeline: view(), View Transitions API card-to-detail morphs, blur-to-sharp lazy image loading, and FLIP re-layout when a filter changes. State-change triggers: add-to-cart success morph, like and save particle burst, expand and collapse to intrinsic height with calc-size(), swipe-to-dismiss on Pointer Events, and skeleton-to-loaded crossfade. Data-driven triggers: count-up KPI metrics, SVG sparkline draw-on-enter, and progress ring fill on load. Ambient idle loops: breathing glow, floating drift, animated gradient mesh backgrounds, conic rotating borders, auto-cycling testimonial decks, and live status pulses. Plus four hover patterns where the effect is the topic itself: cursor spotlight, holographic foil glare, corner ribbon slide, and horizontal accordion expand. Every card is scoped under a .ac-NN prefix for no-collision pasting, guards prefers-reduced-motion, animates compositor-only properties, and ports unchanged to React, Vue, Svelte, Astro, Next.js and Tailwind.

22 CSS Avatars preview

22 CSS Avatars

22 hand-coded CSS avatars for chat apps, team dashboards, comment threads, account menus, and social profiles. Covers circular and squircle shapes, gradient and conic story rings, hexagon clip-path crops, online status dots, notification count badges, verified checkmarks, stacked facepiles with plus-N overflow, initials fallbacks for users without photos, broken-image recovery, avatar pickers, and a size scale system where the ring, badge, and status dot all scale from a single custom property.

Search CodeFronts

Loading…