<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CSS4 on ZiYang FrontEnd Interview</title><link>https://fe-interview.pangcy.cn/tags/css4/</link><description>Recent content in CSS4 on ZiYang FrontEnd Interview</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 06 Mar 2025 13:07:39 +0800</lastBuildDate><atom:link href="https://fe-interview.pangcy.cn/tags/css4/index.xml" rel="self" type="application/rss+xml"/><item><title>现代选择器增强特性</title><link>https://fe-interview.pangcy.cn/docs/css/css-21/</link><pubDate>Tue, 04 Mar 2025 06:58:34 +0000</pubDate><guid>https://fe-interview.pangcy.cn/docs/css/css-21/</guid><description>&lt;h2 id="考察点分析">考察点分析 &lt;a href="#%e8%80%83%e5%af%9f%e7%82%b9%e5%88%86%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;p>本题主要考察以下能力维度：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>现代CSS选择器原理&lt;/strong>：对CSS Level 4新特性的掌握程度&lt;/li>
&lt;li>&lt;strong>样式计算机制&lt;/strong>：特异性（Specificity）计算规则的精准理解&lt;/li>
&lt;li>&lt;strong>可访问性设计&lt;/strong>：无障碍交互模式的实践能力&lt;/li>
&lt;/ol>
&lt;p>具体技术评估点：&lt;/p>
&lt;ul>
&lt;li>&lt;code>:has()&lt;/code>伪类的文档树关系匹配能力&lt;/li>
&lt;li>&lt;code>:is()&lt;/code>选择器的特异性计算方式&lt;/li>
&lt;li>&lt;code>:focus-visible&lt;/code>的输入模式检测机制&lt;/li>
&lt;li>伪类选择器与浏览器渲染性能的关系&lt;/li>
&lt;li>无障碍设计规范（WCAG）的实践应用&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="技术解析">技术解析 &lt;a href="#%e6%8a%80%e6%9c%af%e8%a7%a3%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;h3 id="关键知识点">关键知识点 &lt;a href="#%e5%85%b3%e9%94%ae%e7%9f%a5%e8%af%86%e7%82%b9" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;p>&lt;code>:has() &amp;gt; :is() &amp;gt; :focus-visible&lt;/code>&lt;/p>
&lt;h4 id="1-has关系选择器">1. &lt;code>:has()&lt;/code>关系选择器 &lt;a href="#1-has%e5%85%b3%e7%b3%bb%e9%80%89%e6%8b%a9%e5%99%a8" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h4>&lt;ul>
&lt;li>&lt;strong>原理&lt;/strong>：逆向选择祖先元素的函数式伪类，通过检查子元素是否存在匹配项来确定父元素选择&lt;/li>
&lt;li>&lt;strong>突破性&lt;/strong>：首次实现CSS对父元素的回溯选择（CSSOM构建阶段处理）&lt;/li>
&lt;li>&lt;strong>误区&lt;/strong>：部分浏览器需启用实验性标志/annot be used with pseudo-elements&lt;/li>
&lt;/ul>
&lt;h4 id="2-is特异性计算">2. &lt;code>:is()&lt;/code>特异性计算 &lt;a href="#2-is%e7%89%b9%e5%bc%82%e6%80%a7%e8%ae%a1%e7%ae%97" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h4>&lt;ul>
&lt;li>&lt;strong>规则&lt;/strong>：取参数列表中最高特异性的选择器&lt;/li>
&lt;li>&lt;strong>公式&lt;/strong>：特异性 = max(参数列表每个选择器的特异性)&lt;/li>
&lt;li>&lt;strong>示例&lt;/strong>：&lt;code>:is(.class, #id)&lt;/code>的特异性等同于&lt;code>#id&lt;/code>（1,0,0 &amp;gt; 0,1,0）&lt;/li>
&lt;/ul>
&lt;h4 id="3-focus-visible可访问性">3. &lt;code>:focus-visible&lt;/code>可访问性 &lt;a href="#3-focus-visible%e5%8f%af%e8%ae%bf%e9%97%ae%e6%80%a7" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h4>&lt;ul>
&lt;li>&lt;strong>机制&lt;/strong>：基于UA启发式判断焦点触发方式（键盘/鼠标）&lt;/li>
&lt;li>&lt;strong>对比&lt;/strong>：传统&lt;code>:focus&lt;/code>会同时响应鼠标和键盘操作造成视觉干扰&lt;/li>
&lt;li>&lt;strong>优化&lt;/strong>：减少非必要焦点轮廓，同时保证WCAG 2.4.7可见焦点要求&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="问题解答">问题解答 &lt;a href="#%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;h3 id="1-has使用场景">1. &lt;code>:has()&lt;/code>使用场景 &lt;a href="#1-has%e4%bd%bf%e7%94%a8%e5%9c%ba%e6%99%af" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>


 
 
 

 
 
 
 

 

 &lt;div class="prism-codeblock ">
 &lt;pre id="758cb31" class="language-css ">
 &lt;code>/* 选择包含&amp;lt;img&amp;gt;子元素的&amp;lt;section&amp;gt; */
section:has(&amp;gt; img) {
 border: 2px solid #ccc;
 padding: 1rem;
}

/* 选择包含错误类输入的父表单容器 */
.form-group:has(.input-invalid) {
 background-color: #ffe6e6;
}&lt;/code>
 &lt;/pre>
 &lt;/div>
&lt;p>&lt;strong>解析&lt;/strong>：通过父子关系构建上下文感知样式，解决传统CSS需要额外类名的痛点&lt;/p></description></item><item><title>滚动驱动动画实现</title><link>https://fe-interview.pangcy.cn/docs/css/css-33/</link><pubDate>Tue, 04 Mar 2025 06:58:34 +0000</pubDate><guid>https://fe-interview.pangcy.cn/docs/css/css-33/</guid><description>&lt;h2 id="考察点分析">考察点分析 &lt;a href="#%e8%80%83%e5%af%9f%e7%82%b9%e5%88%86%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;p>&lt;strong>核心能力维度&lt;/strong>：CSS动画原理/现代浏览器API运用/性能优化意识&lt;/p>
&lt;ol>
&lt;li>&lt;strong>滚动驱动动画规范&lt;/strong>：对Scroll-driven Animations提案的理解深度&lt;/li>
&lt;li>&lt;strong>CSS与JS方案对比&lt;/strong>：浏览器渲染机制差异（主线程 vs 合成器线程）&lt;/li>
&lt;li>&lt;strong>API运用能力&lt;/strong>：animation-timeline与view()的实战配置&lt;/li>
&lt;li>&lt;strong>视口检测机制&lt;/strong>：基于元素位置的动画触发逻辑&lt;/li>
&lt;li>&lt;strong>性能优化认知&lt;/strong>：对比滚动监听方案的重绘重排控制&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="技术解析">技术解析 &lt;a href="#%e6%8a%80%e6%9c%af%e8%a7%a3%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;h3 id="关键知识点">关键知识点 &lt;a href="#%e5%85%b3%e9%94%ae%e7%9f%a5%e8%af%86%e7%82%b9" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;p>Scroll-driven Animations &amp;gt; animation-timeline &amp;gt; view() &amp;gt; scroll() &amp;gt; JavaScript滚动监听&lt;/p>
&lt;h3 id="原理剖析">原理剖析 &lt;a href="#%e5%8e%9f%e7%90%86%e5%89%96%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;ol>
&lt;li>
&lt;p>&lt;strong>animation-timeline&lt;/strong>：&lt;br>
将动画时间轴绑定到滚动进度而非默认时间轴，支持两种类型：&lt;/p>
&lt;ul>
&lt;li>&lt;code>scroll()&lt;/code>：绑定到滚动容器的滚动进度&lt;/li>
&lt;li>&lt;code>view()&lt;/code>：绑定到元素与视口的交叉进度&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>view()函数&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>参数：&lt;code>view(axis=block, start=0%, end=100%)&lt;/code>&lt;/li>
&lt;li>当元素进入/离开指定视口范围时触发动画进程&lt;/li>
&lt;li>示例：&lt;code>view(block 25% 75%)&lt;/code>表示元素在块轴向进入25%-75%视口范围时触发&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>执行流程&lt;/strong>：&lt;/p>



 
 
 

 
 
 
 

 

 &lt;div class="prism-codeblock ">
 &lt;pre id="a994080" class="language- ">
 &lt;code>滚动事件 → 浏览器计算滚动偏移量 → 更新相关CSS Timeline → 触发动画合成器更新 → GPU渲染&lt;/code>
 &lt;/pre>
 &lt;/div>
&lt;/li>
&lt;/ol>
&lt;h3 id="常见误区">常见误区 &lt;a href="#%e5%b8%b8%e8%a7%81%e8%af%af%e5%8c%ba" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;ol>
&lt;li>混淆&lt;code>view()&lt;/code>的起始点定义与Intersection Observer的thresholds&lt;/li>
&lt;li>未考虑浏览器兼容性导致降级方案缺失&lt;/li>
&lt;li>过度依赖JS轮询造成主线程卡顿&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="问题解答">问题解答 &lt;a href="#%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;p>&lt;strong>核心API说明&lt;/strong>：&lt;br>
Scroll-driven Animations通过&lt;code>animation-timeline&lt;/code>属性关联滚动时间轴，其中：&lt;/p>
&lt;ul>
&lt;li>&lt;code>scroll()&lt;/code>绑定滚动容器进度，需配合&lt;code>scroll-timeline&lt;/code>定义滚动轴&lt;/li>
&lt;li>&lt;code>view()&lt;/code>基于元素与视口的交叉状态驱动动画&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>视口进入动画示例&lt;/strong>：&lt;/p>



 
 
 

 
 
 
 

 

 &lt;div class="prism-codeblock ">
 &lt;pre id="ba37079" class="language-css ">
 &lt;code>@keyframes slide-in {
 from { transform: translateX(-100%); }
 to { transform: translateX(0); }
}

.box {
 animation: slide-in 1ms; /* 占位值，实际时长由滚动决定 */
 animation-timeline: view(block 20% 80%);
}&lt;/code>
 &lt;/pre>
 &lt;/div>
&lt;p>&lt;strong>滚动进度条动画&lt;/strong>：&lt;/p></description></item><item><title>容器查询技术实践</title><link>https://fe-interview.pangcy.cn/docs/css/css-34/</link><pubDate>Tue, 04 Mar 2025 06:58:34 +0000</pubDate><guid>https://fe-interview.pangcy.cn/docs/css/css-34/</guid><description>&lt;h2 id="考察点分析">考察点分析 &lt;a href="#%e8%80%83%e5%af%9f%e7%82%b9%e5%88%86%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;p>该题主要考察以下核心能力维度：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>响应式设计原理理解&lt;/strong>：区分媒体查询与容器查询的核心差异及应用场景&lt;/li>
&lt;li>&lt;strong>现代CSS特性掌握&lt;/strong>：容器查询语法及container-type属性的实战应用&lt;/li>
&lt;li>&lt;strong>组件化开发思维&lt;/strong>：组件级自适应布局的实现方式与工程化价值&lt;/li>
&lt;/ol>
&lt;p>技术评估点：&lt;/p>
&lt;ul>
&lt;li>媒体查询与容器查询的触发条件差异&lt;/li>
&lt;li>容器上下文创建的正确姿势（container-type）&lt;/li>
&lt;li>基于容器尺寸的断点设置策略&lt;/li>
&lt;li>组件级响应式布局的实现模式&lt;/li>
&lt;li>浏览器兼容性处理意识&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="技术解析">技术解析 &lt;a href="#%e6%8a%80%e6%9c%af%e8%a7%a3%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;h3 id="关键知识点">关键知识点 &lt;a href="#%e5%85%b3%e9%94%ae%e7%9f%a5%e8%af%86%e7%82%b9" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;p>容器查询 &amp;gt; 媒体查询 &amp;gt; container-type配置 &amp;gt; 组件级响应式&lt;/p>
&lt;h3 id="原理剖析">原理剖析 &lt;a href="#%e5%8e%9f%e7%90%86%e5%89%96%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;ol>
&lt;li>
&lt;p>&lt;strong>媒体查询（Media Queries）&lt;/strong>：基于视口尺寸、设备方向等全局环境触发，通过&lt;code>@media&lt;/code>规则实现跨设备响应式布局，主要作用于页面级结构调整&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>容器查询（Container Queries）&lt;/strong>：通过&lt;code>@container&lt;/code>规则监听特定容器的尺寸变化，实现组件内部结构的自适应。需通过&lt;code>container-type&lt;/code>显式声明查询容器，支持：&lt;/p>
&lt;ul>
&lt;li>&lt;code>inline-size&lt;/code>：监控内联轴尺寸（通常为宽度）&lt;/li>
&lt;li>&lt;code>size&lt;/code>：同时监控宽高&lt;/li>
&lt;li>&lt;code>style&lt;/code>/&lt;code>state&lt;/code>：自定义状态查询（草案阶段）&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>性能对比&lt;/strong>：容器查询的样式计算范围更小，当组件嵌套复杂时，通常比全局媒体查询更具性能优势&lt;/p>
&lt;/li>
&lt;/ol>
&lt;h3 id="常见误区">常见误区 &lt;a href="#%e5%b8%b8%e8%a7%81%e8%af%af%e5%8c%ba" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;ul>
&lt;li>误将容器查询用于全局布局调整&lt;/li>
&lt;li>未正确设置container-type导致查询失效&lt;/li>
&lt;li>容器循环依赖导致的无限回流问题&lt;/li>
&lt;li>过度细分容器查询断点引发维护问题&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="问题解答">问题解答 &lt;a href="#%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;p>媒体查询适用于基于设备特性的全局布局调整，如导航栏折叠、字体缩放等；容器查询则用于组件内部的尺寸驱动样式变化，如图片卡片的排列方向切换。通过&lt;code>container-type: inline-size&lt;/code>声明查询容器后，使用&lt;code>@container&lt;/code>规则定义组件在不同容器尺寸下的样式表现。&lt;/p>



 
 
 

 
 
 
 

 

 &lt;div class="prism-codeblock ">
 &lt;pre id="c82970f" class="language-html ">
 &lt;code>&amp;lt;!-- 容器定义 --&amp;gt;
&amp;lt;div class=&amp;#34;card-container&amp;#34;&amp;gt;
 &amp;lt;div class=&amp;#34;card&amp;#34;&amp;gt;
 &amp;lt;img src=&amp;#34;thumbnail.jpg&amp;#34;&amp;gt;
 &amp;lt;div class=&amp;#34;content&amp;#34;&amp;gt;
 &amp;lt;h3&amp;gt;标题&amp;lt;/h3&amp;gt;
 &amp;lt;p&amp;gt;内容描述&amp;lt;/p&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;

&amp;lt;style&amp;gt;
.card-container {
 container-type: inline-size; /* 声明为查询容器 */
 container-name: card-container; /* 可选命名 */
}

/* 容器查询 */
@container card-container (min-width: 600px) {
 .card {
 display: flex; /* 宽容器时横向排列 */
 gap: 1rem;
 }
}

@container card-container (max-width: 599px) {
 img {
 width: 100%; /* 窄容器时纵向堆叠 */
 }
}
&amp;lt;/style&amp;gt;&lt;/code>
 &lt;/pre>
 &lt;/div>
&lt;hr>
&lt;h2 id="解决方案">解决方案 &lt;a href="#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;h3 id="编码实践要点">编码实践要点 &lt;a href="#%e7%bc%96%e7%a0%81%e5%ae%9e%e8%b7%b5%e8%a6%81%e7%82%b9" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;ol>
&lt;li>&lt;strong>容器定义&lt;/strong>：父元素必须显式设置&lt;code>container-type&lt;/code>&lt;/li>
&lt;li>&lt;strong>断点策略&lt;/strong>：建议采用移动优先原则，先定义默认移动端样式&lt;/li>
&lt;li>&lt;strong>性能优化&lt;/strong>：避免深层嵌套容器查询（不超过3层）&lt;/li>
&lt;li>&lt;strong>降级方案&lt;/strong>：通过&lt;code>@supports&lt;/code>检测容器查询支持度&lt;/li>
&lt;/ol>
&lt;h3 id="扩展建议">扩展建议 &lt;a href="#%e6%89%a9%e5%b1%95%e5%bb%ba%e8%ae%ae" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;ul>
&lt;li>
&lt;p>&lt;strong>多容器协同&lt;/strong>：通过命名容器实现精准查询&lt;/p></description></item><item><title>颜色空间现代演进</title><link>https://fe-interview.pangcy.cn/docs/css/css-36/</link><pubDate>Tue, 04 Mar 2025 06:58:34 +0000</pubDate><guid>https://fe-interview.pangcy.cn/docs/css/css-36/</guid><description>&lt;h2 id="考察点分析">考察点分析 &lt;a href="#%e8%80%83%e5%af%9f%e7%82%b9%e5%88%86%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;p>该题目主要考察以下核心能力维度：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>颜色空间原理理解&lt;/strong>：区分设备相关与感知均匀颜色空间的本质差异，理解广色域（Wide Gamut）的发展意义&lt;/li>
&lt;li>&lt;strong>现代CSS特性应用&lt;/strong>：掌握&lt;code>color()&lt;/code>函数的扩展机制与相对颜色语法（Relative Color Syntax）的工程实践&lt;/li>
&lt;li>&lt;strong>动态主题实现能力&lt;/strong>：通过颜色空间转换实现跨设备一致性，处理色域映射问题&lt;/li>
&lt;/ol>
&lt;p>具体技术评估点：&lt;/p>
&lt;ul>
&lt;li>RGB与OKLCH色域模型差异&lt;/li>
&lt;li>&lt;code>color()&lt;/code>函数支持P3/Rec 601等色彩空间的色域扩展原理&lt;/li>
&lt;li>相对颜色语法中&lt;code>from&lt;/code>关键字的变量化处理&lt;/li>
&lt;li>感知均匀性（Perceptual Uniformity）对UI设计的影响&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="技术解析">技术解析 &lt;a href="#%e6%8a%80%e6%9c%af%e8%a7%a3%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;h3 id="关键知识点优先级">关键知识点优先级 &lt;a href="#%e5%85%b3%e9%94%ae%e7%9f%a5%e8%af%86%e7%82%b9%e4%bc%98%e5%85%88%e7%ba%a7" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h3>&lt;p>Oklch感知模型 &amp;gt; 色域容积差异 &amp;gt; color()函数扩展机制 &amp;gt; 相对颜色语法&lt;/p>
&lt;h4 id="原理剖析">原理剖析 &lt;a href="#%e5%8e%9f%e7%90%86%e5%89%96%e6%9e%90" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h4>&lt;ol>
&lt;li>
&lt;p>&lt;strong>RGB局限性&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>设备依赖性：sRGB仅覆盖43%可见光谱（CIE 1931）&lt;/li>
&lt;li>感知非线性：相同数值调整在人眼中可能产生不均匀的明暗变化&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Oklch优势&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>亮度（Lightness）通道与人类视觉灵敏度匹配&lt;/li>
&lt;li>色度（Chroma）范围可突破sRGB限制（如120% P3色域）&lt;/li>
&lt;li>色相（Hue）角度表示更符合设计直觉&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>color()函数&lt;/strong>：&lt;/p>



 
 
 

 
 
 
 

 

 &lt;div class="prism-codeblock ">
 &lt;pre id="7a423dc" class="language-css ">
 &lt;code>.wide-gamut {
 color: color(display-p3 1 0 0); /* 超出现有sRGB的红色 */
}&lt;/code>
 &lt;/pre>
 &lt;/div>
&lt;p>通过指定色彩空间参数（如&lt;code>display-p3&lt;/code>）突破默认sRGB限制&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>相对颜色语法&lt;/strong>：&lt;/p>



 
 
 

 
 
 
 

 

 &lt;div class="prism-codeblock ">
 &lt;pre id="521435c" class="language-css ">
 &lt;code>:root {
 --primary: oklch(70% 0.2 120);
}

.button {
 background: oklch(from var(--primary) l c h); 
 /* 保持色相/饱和度，仅调整亮度 */
 &amp;amp;--hover {
 background: oklch(from var(--primary) calc(l &amp;#43; 0.1) c h);
 }
}&lt;/code>
 &lt;/pre>
 &lt;/div>
&lt;/li>
&lt;/ol>
&lt;h4 id="常见误区">常见误区 &lt;a href="#%e5%b8%b8%e8%a7%81%e8%af%af%e5%8c%ba" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h4>&lt;ul>
&lt;li>误认为Oklch可直接在所有设备显示（需硬件支持）&lt;/li>
&lt;li>混淆色域扩展与HDR的关系&lt;/li>
&lt;li>相对颜色语法中忘记使用&lt;code>from&lt;/code>作用域&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="问题解答">问题解答 &lt;a href="#%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94" class="anchor" aria-hidden="true">&lt;i class="material-icons align-middle">link&lt;/i>&lt;/a>&lt;/h2>&lt;p>RGB与Oklch的核心差异在于色域表现与感知特性。sRGB仅覆盖43%可见光谱，而Oklch支持的Display-P3可达50%以上。color()函数通过声明式指定色彩空间参数（如&lt;code>color(display-p3 1 0 0)&lt;/code>）突破浏览器默认色域限制。&lt;/p></description></item></channel></rss>