CSS opacity 属性:搞懂元素透明度,不再和 rgba 傻傻分不清

发布时间:2026/11/7 6:30:22
CSS opacity 属性:搞懂元素透明度,不再和 rgba 傻傻分不清 在写页面的时候经常会让某个模块半透明一点让背景透出底下的内容营造层次感。CSS 里有两个很容易混淆的东西opacity​ 和rgba()。看起来都能变透明但其实作用范围完全不一样。 opacity 是什么opacity用来设置整个元素的透明度取值在0.0 ~ 1.0之间0完全透明元素看不见但还占着文档流的位置1完全不透明默认值0.5半透明可以写成.5.box{opacity:0.5;/* 等价于 */opacity:.5;}⚠️ 一个容易踩的坑opacity一旦不是 1就会把这个元素拎到一个新的层叠上下文里z-index相关的行为会受影响。另外opacity是连坐制——元素本身 它的所有子元素 背景 内容整体一起变透明哪怕子元素自己写了opacity: 1也没用。 opacity vs rgba到底差在哪这是面试和学习里最高频的一道题记住一句话就够了rgba只管颜色透不透明opacity 管整个元素透不透明。对比项rgba()opacity作用对象某一种颜色背景色 / 文字色 / 边框色整个元素背景 内容 子元素是否影响文字❌ 不影响同元素其他部分✅ 文字一起变透明是否影响子元素❌ 子元素不受影响✅ 子元素被连坐典型场景只想背景透一点字要清晰整个卡片 / 浮层要淡掉 看个直观例子style.box1{width:200px;height:100px;/* rgba 只让红色背景半透明字不受影响 */background-color:rgba(255,0,0,0.5);}.box2{margin-top:50px;width:200px;height:100px;background-color:red;/* opacity 让整个元素红底 文字一起半透明 */opacity:0.5;}/styledivclassbox1好好学习/divdivclassbox2好好学习/div.box1红底半透明好好学习字样仍然浓黑清晰​ 这就是rgba的好处.box2红底半透明好好学习也一起灰掉了​ opacity的连坐效果如果你想要的是背景朦胧、字要清楚选rgba()如果你想要的是整块东西都淡出去再用opacity。 几个实用小贴士hover 淡入淡出opacitytransition是做淡隐淡现的神器.card{opacity:0;transition:opacity .3s;}.card:hover{opacity:1;}完全隐藏别乱用opacity: 0它只是看不见元素还在那占位置、还能点。真要隐藏又不想占流用display: none只想看不见但还能点才用opacity: 0。层级陷阱opacity 1会创建新的层叠上下文父子z-index排序要注意。 参考MDN - opacity读者互动如果你觉得文章有待改进请在评论区留言我会认真考虑每一条建议。如果觉得文章有帮助欢迎点赞鼓励。想与我共同进步欢迎关注我。 感谢各位读者的支持与关注期待与大家一起在前端开发的道路上共同进步

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询