Design & Media

Designing like Apple.

What makes Apple's websites feel so calm and premium? It isn't magic — it's a handful of disciplined choices. Here they are, with live examples you can borrow.

The foundation

Clarity, Deference, Depth

Apple's Human Interface Guidelines rest on three ideas. Everything else flows from them.

Clarity

Text is legible, icons are precise, and every element earns its place. Nothing decorative for its own sake.

Deference

The interface steps back so the content is the hero. Chrome is minimal; the product does the talking.

Depth

Subtle layers, blur, and motion communicate hierarchy and make the interface feel physical and alive.

Hallmark 1

Big, confident typography

Apple leads with huge, tightly-tracked headlines in a clean sans-serif (San Francisco). The type is the design — bold weight, negative letter-spacing, generous line spacing.

Studio Display

Stunning in
every sense.

5K Retina. 600 nits. Pure clarity.
HTML
<div class="bigtype">
  <p class="pretitle">Studio Display</p>
  <h1>Stunning in<br>every sense.</h1>
  <p class="sub">5K Retina. 600 nits. Pure clarity.</p>
</div>
CSS
h1 {
  font-family: -apple-system, 'SF Pro Display', sans-serif;
  font-size: clamp(2.2rem, 6vw, 4rem);  /* big, fluid */
  font-weight: 700;
  letter-spacing: -0.04em;   /* tighten large type */
  line-height: 1.02;
}
The trick: the bigger the type, the tighter the letter-spacing should be. Large headlines look loose at default tracking.
Hallmark 2

Generous whitespace

Apple gives every element room to breathe. Whitespace isn't empty — it's what makes the content feel important and the page feel calm and expensive.

Less, but better.

One idea per screen. Lots of space around it.

HTML
<section class="feature">
  <h2>Less, but better.</h2>
  <p>One idea per screen. Lots of space around it.</p>
</section>
CSS
.feature {
  padding: 90px 24px;       /* generous breathing room */
  max-width: 720px;
  margin: 0 auto;           /* center one idea */
  text-align: center;
}
Try it: double your padding. Sections like padding: 90px 24px and a single centered idea read as premium; cramped content reads as cheap.
Hallmark 3

Restrained color

Mostly white, near-black, and shades of grey — with one confident accent (Apple's signature blue) reserved for links and buttons. Color is used sparingly, so it means something.

Canvas#fbfbfd
Ink#1d1d1f
Grey#6e6e73
Surface#f5f5f7
Accent#0071e3
CSS
:root {
  --canvas: #fbfbfd;   /* page background  */
  --ink:    #1d1d1f;   /* near-black text  */
  --grey:   #6e6e73;   /* secondary text   */
  --accent: #0071e3;   /* one bold accent  */
}
body { background: var(--canvas); color: var(--ink); }
a, .btn { color: var(--accent); }   /* accent only where it matters */
HTML
<a href="#" class="btn">Buy</a>   <!-- the rare splash of blue -->
The signature pattern

The centered product hero

The most recognizable Apple layout: a short name, a big headline, two text links (Learn more / Buy), then the product centered on white with nothing competing for attention.

YourPhone Pro

Titanium. So strong. So light.

From $999 or $41.62/mo. for 24 mo.
HTML
<section class="hero">
  <p class="eyebrow">YourPhone Pro</p>
  <h1>Titanium. So strong. So light.</h1>
  <p class="price">From $999 or $41.62/mo. for 24 mo.</p>
  <div class="links">
    <a href="#">Learn more ›</a>
    <a href="#">Buy ›</a>
  </div>
  <img src="product.png" alt="" class="product">
</section>
CSS
/* everything centered, product on a clean background */
.hero { text-align: center; padding: 80px 24px; background: #fff; }
.hero .links { display: flex; gap: 24px; justify-content: center; }
.links a { color: #0071e3; text-decoration: none; }
.product { max-width: 70%; margin: 40px auto 0; display: block; }
Hallmark 4

Soft depth & material

Apple uses gentle shadows, rounded corners, and frosted-glass blur (“materials”) to layer the interface. backdrop-filter: blur() is the CSS behind that translucent navigation bar look.

Frosted glass

backdrop-filter: blur(16px)

HTML
<div class="glass">
  <h4>Frosted glass</h4>
  <p>backdrop-filter: blur(16px)</p>
</div>
CSS
.glass {
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(16px);          /* the frosted effect */
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 18px;
}
/* big, soft, rounded — never harsh */
.card { border-radius: 18px; box-shadow: 0 12px 40px rgba(0,0,0,.12); }
The narrative

They tell a story, one scroll at a time

An Apple page isn't a brochure — it's a guided story. You scroll, and it reveals one idea at a time, often pinning the product in place while the words change around it. That's “scrollytelling,” and the CSS behind the pinning is position: sticky. Scroll inside the box:

Meet YourPhone.

Scroll down — the product stays put.

Titanium.

Strong, and impossibly light.

All-day battery.

From sunrise to long past sunset.

One more thing…

The story ends with a single call to action.

↕ The product is pinned with position: sticky while the captions scroll
HTML
<div class="story">
  <img src="phone.png" class="product" alt="">   <!-- pinned -->
  <div class="scenes">
    <section class="scene">
      <h4>Meet YourPhone.</h4>
      <p>Scroll down — the product stays put.</p>
    </section>
    <section class="scene">
      <h4>Titanium.</h4>
      <p>Strong, and impossibly light.</p>
    </section>
    <section class="scene">
      <h4>All-day battery.</h4>
      <p>From sunrise to long past sunset.</p>
    </section>
    <section class="scene">
      <h4>One more thing…</h4>
      <p>The story ends with a single call to action.</p>
    </section>
  </div>
</div>
CSS
/* the visual stays pinned while the captions scroll past it */
.product { position: sticky; top: 0; }

/* each "scene" gets its own full-height block, revealed in turn */
.scene { min-height: 100vh; display: flex; align-items: center; }
The takeaway: give every idea its own space and reveal them in sequence. Don't dump everything at once — let the page build like a story with a beginning, middle, and a clear ending (the CTA).
The audience

Designed from the user's point of view

Apple writes for the person, not the spec sheet. Every page answers “what does this do for me?” before it ever mentions a number — a UX-first way of thinking you can copy on any project.

Benefits before specs

“So strong. So light.” comes first; the titanium grade and the grams come later, for those who want them.

Progressive disclosure

Show the big picture first. Details, comparisons, and tech specs live further down or behind a click.

One clear path

Fewer choices means less paralysis. Each screen points to a single, obvious next step.

Show, don't tell

Big imagery and video do the explaining — far more convincingly than a paragraph ever could.

Accessible by default

Strong contrast, real selectable text, semantic structure, and respect for reduced-motion settings.

Plain language

Short, human sentences. No jargon. If a beginner couldn't follow it, it gets rewritten.

A copywriting habit

Why Apple almost never uses bullet points

Bullet lists read like an instruction manual. Apple instead stacks short, confident statements with plenty of space — each one a mini-headline you can't help but read. Same information, completely different feeling.

Typical — a wall of bullets
  • 6.1-inch display
  • A18 Pro chip
  • 48MP camera system
  • Up to 27 hours video playback
  • Titanium design
Apple-style — scannable statements
A display you'll stare at.6.1 inches, edge to edge.
Ridiculously fast.The A18 Pro chip, built for anything.
Your best photo yet.A 48MP camera that sees in the dark.
How to do it: turn each bullet into a tiny headline + one supporting line, then give it vertical room. Reach for <h3>/<p> blocks instead of <ul><li> when you're selling, not documenting.
Under the hood

The technology behind the magic

None of it is exotic — it's standard web tech used with discipline. Here's the toolkit, and exactly how to use each piece on your own page.

Scroll reveals — IntersectionObserver

Elements fade and rise into view as you reach them. Scroll down a touch and these appear:

Fast

Reveals on scroll.

Light

CSS plus a few lines of JS.

Subtle

Never overdone.

HTML
<div class="reveal">     <!-- each starts hidden; JS adds .in -->
  <h4>Fast</h4>
  <p>Reveals on scroll.</p>
</div>
<div class="reveal">
  <h4>Light</h4>
  <p>CSS plus a few lines of JS.</p>
</div>
<div class="reveal">
  <h4>Subtle</h4>
  <p>Never overdone.</p>
</div>
JavaScript
// add the .in class when an element scrolls into view
const io = new IntersectionObserver((entries) => {
  entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('in'); });
}, { threshold: 0.2 });
document.querySelectorAll('.reveal').forEach(el => io.observe(el));
CSS
.reveal     { opacity: 0; transform: translateY(24px); transition: .6s ease; }
.reveal.in  { opacity: 1; transform: none; }

Autoplay product video

Apple loops short, muted clips instead of static images. Always muted + playsinline so it autoplays on phones too.

HTML
<video autoplay muted loop playsinline poster="product.jpg">
  <source src="product.mp4" type="video/mp4">
</video>

System font (San Francisco)

Renders Apple's own typeface on Apple devices — with zero downloads.

font-family: -apple-system, "SF Pro Display", system-ui, sans-serif;

Sticky / pinned sections

Keeps a product or the nav fixed while you scroll — the heart of scrollytelling.

.product { position: sticky; top: 0; }

Frosted-glass navigation

The translucent blur behind the top bar (CSS "materials").

.nav { background: rgba(255,255,255,.72); backdrop-filter: blur(20px); }

Retina / responsive images

Crisp on high-res screens, light on slow connections.

<img src="p.jpg" srcset="p.jpg 1x, p@2x.jpg 2x, p@3x.jpg 3x"
     alt="" loading="lazy">

Scroll snapping

Each full-screen section clicks neatly into place as you scroll.

.scroller { scroll-snap-type: y mandatory; }
.section  { scroll-snap-align: start; }

Respect reduced motion

Switch animation off for people who ask for it — an accessibility must.

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

Smooth scrolling

In-page anchor links glide to their target instead of jumping.

html { scroll-behavior: smooth; }
Make it yours

How to apply the Apple feel

Use the system font: font-family: -apple-system, 'SF Pro Display', sans-serif; renders as San Francisco on Apple devices — instant Apple feel, zero downloads. Related: Design Principles · Design Tokens.

A pill button, the Apple way