sRGB vs P3 Color Spaces

阅读时间 8 分钟更新于 2026-06-10
📘 本文内容为英文原文,提供最准确的技术信息。中文解读和实操指南正在完善中。你也可以使用页面顶部的翻译工具。

Here's a question that's been bugging front-end developers since 2016: why do the colors on your MacBook Pro look richer than the exact same hex code on your office monitor? The answer is color gamuts — specifically, the difference between sRGB (the web's default since 1996) and Display P3 (Apple's wider gamut that covers 25% more visible colors).

This isn't academic trivia. As of 2026, 87% of smartphones and 64% of laptops ship with P3-capable displays (DisplayMate, 2025). If you're still designing exclusively in sRGB, you're leaving a quarter of the color spectrum on the table — delivering washed-out reds, muted greens, and lifeless oranges to the majority of your users.

The good news: CSS now supports wide-gamut colors natively through the color() function and oklch(). The bad news: most designers don't know how to use them without breaking the experience for sRGB displays. This guide covers what P3 actually is, when to use it, how to implement fallbacks, and the real-world performance data from companies already shipping wide-gamut designs.

基础原理

Apple's entire ecosystem has been P3-native since 2016. The iPhone's camera captures in P3, Photos edits in P3, and Safari renders P3 CSS colors. When Apple redesigned their marketing pages in 2022, they reported that P3 hero images increased visual impact scores by 32% compared to sRGB equivalents — particularly for product shots of red/orange iPhones and the green MacBook Air.

Netflix's UI team conducted a 2024 study on thumbnail color vibrancy: P3-gamut thumbnails had a 12% higher click-through rate on P3 displays compared to the same thumbnails clamped to sRGB. Their implementation uses the picture element with srcset to serve P3 WebP images to capable displays and sRGB JPEG fallbacks to others.

Figma added P3 color support in 2023 after years of user requests. They store all colors internally as P3 values and convert to sRGB only at export time when the user selects sRGB as the target. This means designs stay in the wider gamut throughout the workflow, preserving vibrancy until the last possible moment.

Stripe's identity refresh (2025) specifically chose their signature purple because it sits right at the boundary of sRGB gamut — meaning P3 displays render it with noticeably more depth and saturation than sRGB monitors. It's a deliberate choice that makes their brand look premium on modern hardware.

The Guardian's web team published a case study showing that their editorial photography displayed in P3 on supported browsers resulted in 8% longer average time-on-page for image-heavy articles. They implemented progressive enhancement: serve P3 to capable browsers, sRGB to everything else.

科学原理

Apple's entire ecosystem has been P3-native since 2016. The iPhone's camera captures in P3, Photos edits in P3, and Safari renders P3 CSS colors. When Apple redesigned their marketing pages in 2022, they reported that P3 hero images increased visual impact scores by 32% compared to sRGB equivalents — particularly for product shots of red/orange iPhones and the green MacBook Air.

Netflix's UI team conducted a 2024 study on thumbnail color vibrancy: P3-gamut thumbnails had a 12% higher click-through rate on P3 displays compared to the same thumbnails clamped to sRGB. Their implementation uses the picture element with srcset to serve P3 WebP images to capable displays and sRGB JPEG fallbacks to others.

Figma added P3 color support in 2023 after years of user requests. They store all colors internally as P3 values and convert to sRGB only at export time when the user selects sRGB as the target. This means designs stay in the wider gamut throughout the workflow, preserving vibrancy until the last possible moment.

Stripe's identity refresh (2025) specifically chose their signature purple because it sits right at the boundary of sRGB gamut — meaning P3 displays render it with noticeably more depth and saturation than sRGB monitors. It's a deliberate choice that makes their brand look premium on modern hardware.

The Guardian's web team published a case study showing that their editorial photography displayed in P3 on supported browsers resulted in 8% longer average time-on-page for image-heavy articles. They implemented progressive enhancement: serve P3 to capable browsers, sRGB to everything else.

对比分析

Apple's entire ecosystem has been P3-native since 2016. The iPhone's camera captures in P3, Photos edits in P3, and Safari renders P3 CSS colors. When Apple redesigned their marketing pages in 2022, they reported that P3 hero images increased visual impact scores by 32% compared to sRGB equivalents — particularly for product shots of red/orange iPhones and the green MacBook Air.

Netflix's UI team conducted a 2024 study on thumbnail color vibrancy: P3-gamut thumbnails had a 12% higher click-through rate on P3 displays compared to the same thumbnails clamped to sRGB. Their implementation uses the picture element with srcset to serve P3 WebP images to capable displays and sRGB JPEG fallbacks to others.

Figma added P3 color support in 2023 after years of user requests. They store all colors internally as P3 values and convert to sRGB only at export time when the user selects sRGB as the target. This means designs stay in the wider gamut throughout the workflow, preserving vibrancy until the last possible moment.

Stripe's identity refresh (2025) specifically chose their signature purple because it sits right at the boundary of sRGB gamut — meaning P3 displays render it with noticeably more depth and saturation than sRGB monitors. It's a deliberate choice that makes their brand look premium on modern hardware.

The Guardian's web team published a case study showing that their editorial photography displayed in P3 on supported browsers resulted in 8% longer average time-on-page for image-heavy articles. They implemented progressive enhancement: serve P3 to capable browsers, sRGB to everything else.

真实案例

Apple's entire ecosystem has been P3-native since 2016. The iPhone's camera captures in P3, Photos edits in P3, and Safari renders P3 CSS colors. When Apple redesigned their marketing pages in 2022, they reported that P3 hero images increased visual impact scores by 32% compared to sRGB equivalents — particularly for product shots of red/orange iPhones and the green MacBook Air.

Netflix's UI team conducted a 2024 study on thumbnail color vibrancy: P3-gamut thumbnails had a 12% higher click-through rate on P3 displays compared to the same thumbnails clamped to sRGB. Their implementation uses the picture element with srcset to serve P3 WebP images to capable displays and sRGB JPEG fallbacks to others.

Figma added P3 color support in 2023 after years of user requests. They store all colors internally as P3 values and convert to sRGB only at export time when the user selects sRGB as the target. This means designs stay in the wider gamut throughout the workflow, preserving vibrancy until the last possible moment.

Stripe's identity refresh (2025) specifically chose their signature purple because it sits right at the boundary of sRGB gamut — meaning P3 displays render it with noticeably more depth and saturation than sRGB monitors. It's a deliberate choice that makes their brand look premium on modern hardware.

The Guardian's web team published a case study showing that their editorial photography displayed in P3 on supported browsers resulted in 8% longer average time-on-page for image-heavy articles. They implemented progressive enhancement: serve P3 to capable browsers, sRGB to everything else.

P3 colors with sRGB fallback in CSS

/* Progressive enhancement: sRGB fallback + P3 upgrade */
:root {
  /* sRGB fallback (all browsers) */
  --brand-red: #e63946;
  --brand-green: #2a9d8f;
  --brand-orange: #e76f51;
}

/* P3 upgrade for capable displays */
@supports (color: color(display-p3 1 0 0)) {
  @media (color-gamut: p3) {
    :root {
      --brand-red: color(display-p3 0.96 0.18 0.22);
      --brand-green: color(display-p3 0.12 0.65 0.55);
      --brand-orange: color(display-p3 0.95 0.42 0.28);
    }
  }
}

/* Or use oklch for perceptual uniformity */
:root {
  --accent: oklch(65% 0.25 15); /* vivid red in oklch */
}

/* Detect gamut support in JavaScript */
const supportsP3 = window.matchMedia('(color-gamut: p3)').matches;
const supportsHDR = window.matchMedia('(dynamic-range: high)').matches;
console.log(\`P3: \$\{supportsP3\}, HDR: \$\{supportsHDR\}\`);

复制粘贴到项目即可使用。

💡 高手技巧

工具推荐

Apple's entire ecosystem has been P3-native since 2016. The iPhone's camera captures in P3, Photos edits in P3, and Safari renders P3 CSS colors. When Apple redesigned their marketing pages in 2022, they reported that P3 hero images increased visual impact scores by 32% compared to sRGB equivalents — particularly for product shots of red/orange iPhones and the green MacBook Air.

Netflix's UI team conducted a 2024 study on thumbnail color vibrancy: P3-gamut thumbnails had a 12% higher click-through rate on P3 displays compared to the same thumbnails clamped to sRGB. Their implementation uses the picture element with srcset to serve P3 WebP images to capable displays and sRGB JPEG fallbacks to others.

Figma added P3 color support in 2023 after years of user requests. They store all colors internally as P3 values and convert to sRGB only at export time when the user selects sRGB as the target. This means designs stay in the wider gamut throughout the workflow, preserving vibrancy until the last possible moment.

Stripe's identity refresh (2025) specifically chose their signature purple because it sits right at the boundary of sRGB gamut — meaning P3 displays render it with noticeably more depth and saturation than sRGB monitors. It's a deliberate choice that makes their brand look premium on modern hardware.

The Guardian's web team published a case study showing that their editorial photography displayed in P3 on supported browsers resulted in 8% longer average time-on-page for image-heavy articles. They implemented progressive enhancement: serve P3 to capable browsers, sRGB to everything else.

免费工具推荐

用这些免费工具实操你学到的知识: