前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >父元素opacity属性对子元素的影响(子元素设置opacity无效)

父元素opacity属性对子元素的影响(子元素设置opacity无效)

作者头像
全栈程序员站长
发布2022-09-01 14:40:57
3K0
发布2022-09-01 14:40:57
举报

大家好,又见面了,我是你们的朋友全栈君。

问题来源于实践

这段时间做了一个项目优化,对于原有的内容进行了重新设计实现,其中一项就是对于label标签添加hover层进行解释说明,最常用的办法及时label的容器设置relative,然后hover层作为它的子元素设置absolute,然后在使用label的hover伪类来控制hover层的显示和隐藏,这其中一个要求及时hover层必定要求能够遮住页面中其他的元素,所以最常用的办法是设置它的背景颜色,然后让它的z-index处于合理的位置,一切都是这样设计的,但是最终的效果却出现了hover层设置bg为#fff的时候,hover层显示时还是会把底部内容给透出来,第一反应就是opacity设置为1,但是还是没有效果(因为背景为白色,所以有点坑)

最终问题定位在父元素的opacity属性设置为不为1的值导致的,这样即使hover层(作为子元素)设置了bg和opacity为1,也依然会存在一定的透明度。

testcode:

代码语言:javascript
复制
  <style type='text/css'>
            .container{
                width:400px;
                height: 400px;
                border:1px solid red;
                border-radius: 8px;
                position: relative;
                opacity: 0.5;
            }
            .child{
                position: absolute;
                border:1px solid gray;
                border-radius: 6px;
                width:200px;
                height: 200px;
                bottom: -180px;
                opacity: 1;
                font-weight: bold;
                background: #0000ff;
            }
        </style>
    </head>
    <body>
        <div class="container">
            <h2>this is a container with opacity : 0.5</h2>
            <div class="child">
                this is child dom with opacity :1
            </div>
        </div>
        <h3 color='black'>this is a dom covered by child width color : black </h3>
    </body>

demo:

opacity-test
opacity-test

测试结果和问题排查之后的结果一致(设置父元素的opacity为1通过了测试),父元素的opacity会影响到子元素,即使子元素自定义了opacity属性;还发现最后元素遮住了字体之后,背景颜色还能透给底部的文字,相当于底部内容文字形成了一个遮罩的效果,是不是可以用来设计内容呢?

总结:在设置opacity时,需要排查父元素是否已经设置,需要考虑对于元素中所包含的子元素的影响

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141518.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档