CSS 如何设置父元素的透明度而不影响子元素的透明度

news/2025/3/28 7:52:27/文章来源:https://www.cnblogs.com/yuzhihui/p/18784622

CSS 如何设置父元素的透明度而不影响子元素的透明度

在 CSS 中,设置父元素的透明度(如通过 opacity 属性)会影响所有子元素的透明度,因为 opacity 是作用于整个元素及其内容的。如果想让父元素透明但不影响子元素的透明度,可以使用以下方法:

方法 1:使用 background 的透明度(推荐)

不直接使用 opacity,而是设置父元素的背景颜色透明度(通过 RGBA 或 HSLA)。这样只影响父元素的背景,而子元素保持不受影响。

.parent {background-color: rgba(0, 0, 0, 0.5); /* 半透明黑色背景 */padding: 20px;
}.child {background-color: #fff; /* 子元素背景不透明 */padding: 10px;
}
<div class="parent"><div class="child">我是子元素</div>
</div>
  • rgba(0, 0, 0, 0.5) 表示红、绿、蓝值为 0,透明度为 0.5(半透明)。
  • 子元素不会继承父元素的透明度。

方法 2:使用伪元素实现透明背景

通过伪元素(如 ::before)创建一个透明的背景层,父元素本身的透明度保持正常。

.parent {position: relative;padding: 20px;
}.parent::before {content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5); /* 半透明背景 */z-index: -1; /* 确保伪元素在父元素内容之下 */
}.child {background-color: #fff;padding: 10px;position: relative; /* 确保子元素在伪元素之上 */
}
<div class="parent"><div class="child">我是子元素</div>
</div>
  • 这种方法利用伪元素来承载透明背景,父元素和子元素的内容都不受影响。

为什么 opacity 不行?

opacity 属性会将整个元素(包括子元素)作为一个整体来渲染透明度,无法单独排除子元素。如果设置:

.parent {opacity: 0.5;
}

子元素会不可避免地变得半透明。

总结

  • 如果只是背景透明,推荐用 background-color: rgba()
  • 如果需要更复杂的透明效果(如覆盖整个父元素但不影响子元素),用伪元素方法。
  • 避免直接使用 opacity,除非确实希望子元素也透明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/902345.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASE20N40-ASEMI工业电源专用ASE20N40

ASE20N40-ASEMI工业电源专用ASE20N40编辑:LL ASE20N40-ASEMI工业电源专用ASE20N40 型号:ASE20N40 品牌:ASEMI 封装:TO-220 最大漏源电流:20A 漏源击穿电压:400V 批号:最新 RDS(ON)Max:216mΩ 引脚数量:3 沟道类型:N沟道MOS管 封装尺寸:如图 特性:MOS管、N沟道MO…

GreatSQL 为何选择全表扫描而不选索引

GreatSQL 为何选择全表扫描而不选索引 1. 问题背景 在生产环境中,发现某些查询即使有索引,也没有使用索引,反而选择了全表扫描。这种现象的根本原因在于优化器评估索引扫描的成本时,认为使用索引的成本高于全表扫描。 2. 场景复现 2.1 环境信息机器 IP:192.168.137.120 Gr…

Profibus DP转EtherCAT实例展示欧姆龙PLC对接西门子变频器操作

一. 案例背景 在一个小型工厂,现场设备需求是Profibus DP转EtherCAT,两端设备分别是西门子变频器和欧姆龙PLC通讯,。为提高现场的工作效率,采纳捷米特JM-DPM-ECT网关模块来实现数据的互联互通。二.设备介绍 1.欧姆龙PLC 欧姆龙PLC是一种功能完善的紧凑型PLC,能为业界领先的…

bayaim-如何保证Redis中的数据都是热点数据?

——————————————————————————————————————————————————— ---- bayaim,申明:本文摘自:https://mp.weixin.qq.com/s?__biz=MzAwNDUxOTQ5MQ==&mid=2247623691&idx=1&sn=35e1b6e9206458f9fcd99e48bebccc13&…

translator

import streamlit as st import time import base64 from streamlit.components.v1 import html# 自定义CSS样式 def set_custom_style():st.markdown(""" <style>/* 页面背景:浅色渐变,提高可读性 */.main {background: linear-gradient(135deg, #E0F7…

AI+CRM纷享汇湖南株洲站圆满落幕

近日,由株洲工业和信息化局指导,湘数促会株洲联络处主办,华为云、纷享销客共同承办的“智变未来营销破局”暨企业CRM应用与发展趋势纷享汇在湖南株洲成功举办。此次活动吸引了近40位湘企高管参与,共同探讨企业数字化转型与营销破局的新路径。 一、华为云助力企业数字化转型…

postgresql 16版本之后使用yum方式下载

1.登录下载地址https://www.postgresql.org/download/linux/redhat/

bilibili 分段进度跳转

编辑好后重新投稿即可

谷歌浏览器Chrome安装历史版本

连接:https://downzen.com/en/windows/google-chrome/versions/?page=4 首先,打开网址 然后选择所需要的版本进行下载

LevOJ.sln - 第五期

LevOJ - 字符串专题解决方法 LevOJ平台.sln苯蒟蒻也没系统学过算法,群佬有更高级的算法一定要在评论区贴一下喵~P1034 字符串的循环移位 问题描述解决方法 #include <iostream> #include <string> using namespace std;int main() {int n;cin >> n;string s…

DeepSeek R1 + Ollama + Cherry Studio 实现本地化部署 + 可视化访问,真的太香了!

大家好,我是R哥。 今天继续聊聊 DeepSeek R1 本地部署和可视化访问。 上一期的分享了 DeepSeek R1 本地部署实战教程来了,带可视化界面,非常详细!,使用的是 Ollama + Open WebUI 实现的。 今天再分享一种方案:Ollama + Cherry Studio,这是一种 AI 客户端形式,而非网页,…

国内值得去的955神仙公司排行榜

在科技行业竞争日益激烈、“内卷” 成风的当下,“955” 工作制宛如一股清流,让打工人看到了工作与生活平衡的曙光。今天,咱们就来唠唠国内外那些既有着出色业务,又能让员工享受 “955” 神仙公司。 先解释一下,所谓的955是指: 工作日早9点上班、晚5点下班、一周工作5天,中…