返回知识库

产品与设计 · 排版与视觉样式

透明度Opacity

用有限透明度弱化次要信息和压暗遮罩,关键文字、状态和禁用语义用 rgba 通道与原生 disabled 单独承担。

不透明度实验台:给遮罩定一个值

任务是为「活动报名卡」的半透明遮罩定不透明度。拖动滑块看遮罩压暗,再切 opacity 整块与 rgba 背景两种写法,看确认文字是否跟着一起淡。结果长在遮罩与按钮物件上。

任务:这张「活动报名卡」上方压着一层半透明遮罩,遮罩里坐着「确认报名」文字。拖动遮罩不透明度,再切两种写法——看遮罩压暗程度,也看确认文字是否跟着一起淡。结果长在物件上:遮罩深浅、确认文字、候补按钮的禁用都直接变。

CodeNow 周末工作坊报名中

产品度量与迭代节奏

8 月 24 日 · 线上 · 14:00–17:00

名额剩余 3 位 · 次要说明恒为 60%
立即报名
遮罩不透明度
50%
当前写法
opacity 整块
确认文字
过淡 · 未通过
候补按钮
可点击

未通过。原因:opacity 作用在遮罩容器上,「确认报名」文字作为子元素被一起压到 50%,文字跟着变淡。 对照:切到rgba 背景写法,看确认文字是否随滑块一起淡。下一步:把滑块拉到 30%,看哪种写法下「确认报名」仍可读。

面板里读到的结论

刚才的遮罩深浅、确认文字和候补按钮,对应的是 opacity 的几条主线:整体变淡、rgba 通道、次要弱化、禁用语义、独立验收。

  • opacity 作用于整块:元素连同子元素和文字作为一个整体等比变淡,不能只弱化某一段文字。
  • 半透明背景配清晰文字要用 rgba/色彩通道:把透明度写进 background-color,而不是套在容器 opacity 上。
  • 次要信息可弱化:辅助说明、占位图常落在 0.5–0.7;关键文字、错误/成功状态保持 1.0。
  • opacity ≠ 禁用:禁用要原生 disabled 或 aria-disabled 加 not-allowed 指针,opacity 只是视觉提示。
  • opacity:0 仍占位:元素不可见但保留布局且不响应;真隐藏要配合 visibility:hidden 或 display:none。
  • 对比度要独立验收:透明层叠在复杂背景上时,前景文字与合成背景的对比须单独测,不能靠透明度补。

什么时候该动 opacity

看到次要信息抢主、需要遮罩聚焦、或要做图层氛围时用;正文可读性、禁用语义和关键状态别交给 opacity 单独承担。

适合

弱化辅助说明、占位图、次要操作;弹层遮罩、Toast 背景、图层叠加氛围;过渡动画的淡入淡出。

不必或慎用

正文段落、表单错误、成功徽章、主操作、禁用态的唯一线索——这些需要可读对比或语义承担,opacity 会拖垮它们。

怎么从需求走到透明度

从「这块东西要不要被读、要不要被看见」倒推写法,再在真实背景上复测。

  1. 先分主次:主文字、状态、主操作保持 1.0;只有辅助说明、占位、装饰层考虑弱化。
  2. 选写法:要半透明背景配清晰文字,优先 rgba/hsla 的背景通道;只有整块(含文字)一起淡时才用容器 opacity。
  3. 定数值:次要内容落在 0.5–0.7,遮罩按底层复杂度给 0.45–0.7,避免低于 0.4 当正文。
  4. 禁用单独处理:用 disabled/aria-disabled 加 not-allowed,opacity 仅作视觉收口。
  5. 在真实背景、深浅主题和高对比模式下复测文字对比,确认关键内容不因透明度消失。

盯这些关注点

调 opacity 时容易只盯「淡一点」,文字对比、禁用语义和 0 值占位更容易出问题。

  • 盯文字对比:透明容器内的文字会被一起压淡,关键文字别套在低 opacity 容器里。
  • 盯禁用语义:别用 opacity 单独表达禁用,行为和可达性由 disabled 承担。
  • 盯 opacity:0:它仍占位、仍可能被读屏读出;要真隐藏配合 visibility/display 或 aria-hidden。
  • 盯层叠背景:透明层压在图片、渐变上时,给文字一个稳定底色或独立对比验收。

同一张确认遮罩:正例与反例

目标都是让遮罩压暗底层、又让确认文字清晰。差异只在遮罩用 rgba 还是 opacity。

正例rgba 背景 + 文字 1.0
活动卡 · 底层立即报名
确认报名?确认

遮罩用 rgba(27,29,33,0.5):背景压暗 50%,确认文字保持完整不透明,仍清晰可读。

差异:只改了遮罩写法,文字不再跟着淡。
反例opacity 整块 0.5
活动卡 · 底层立即报名
确认报名?确认

遮罩用 opacity: 0.5:背景压暗的同时,确认文字作为子元素也被压到 50%,字色发灰、对比未通过。

差异:同样 50%,文字一起变淡。

快速自测

你要做一个半透明深色遮罩,上面放白色「确认」文字。哪种写法能让背景压暗、文字仍清晰?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。