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

父元素opacity属性对子元素的影响(子元素设置opacity无效)问题来源于实践这段时间做了一个项目优化,对于原有的内容进行了重新设计实现,其中一项就是对于label标签添加hover层进行解释说明,最常用的办法及时label的容器设置relative,然后hover层作为它的子元素设置absolute,然后在使用label的hover伪类来控制hover层的显示和隐藏,这其中一个要求及时hover层必定要求能够遮住页面中其他的元素,所以最常用的办法是设置它…

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

问题来源于实践

这段时间做了一个项目优化,对于原有的内容进行了重新设计实现,其中一项就是对于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:

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Apache Struts2(S2-052)远程代码执行漏洞利用和修复建议

    Apache Struts2(S2-052)远程代码执行漏洞利用和修复建议点击“合天智汇”关注,学习网安干货话说哥们正吃着火锅唱着歌呢~~突然瞥见微信群的信息“Struts2S2-052RCE。。。。”赶紧放下筷子瞅一眼,这Struts2真是不让人省心啊,…

  • Apache Web服务器安全配置全攻略[通俗易懂]

    Apache Web服务器安全配置全攻略[通俗易懂]作为最流行的Web服务器,ApacheServer提供了较好的安全特性,使其能够应对可能的安全威胁和信息泄漏。   Apache服务器的安全特性  1、采用选择性访问控制和强制性访问控制的安全策略  从Apache或Web的角度来讲,选择性访问控制DAC(DiscretionaryAccessControl)仍是基于用户名和密码的,强制性访问控制MAC(Mand

    2022年10月28日
  • spring security CSRF防护

    spring security CSRF防护CSRF是指跨站请求伪造(Cross-siterequestforgery),是web常见的攻击之一。从SpringSecurity4.0开始,默认情况下会启用CSRF保护,以防止CSRF攻击应用程序,SpringSecurityCSRF会针对PATCH,POST,PUT和DELETE方法进行防护。我这边是springboot项目,在启用了@EnableWebSecurity…

  • Android代码混淆之混淆规则

    Android代码混淆之混淆规则因为Android是使用Java开发的,所以开发者可以使用ProGuard对代码进行混淆。SDK已经集成了ProGuard工具,开发者可以从SDK目录下的\tools\proguard目录中进行查看。    ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未

  • 内部服务器500错误原因解决方法_什么是内部服务器错误

    内部服务器500错误原因解决方法_什么是内部服务器错误http500内部服务器错误的解决方法这个错误整整浪费了我下午的时间,在网上有很多的方法,当然我也是从那些繁多的方法中一点点的搞定IIS的,首先你要先装好IIS,XPSP2中的应该是5.1版本的,安装方法:1->打开控制面板,选择添加删除程序2->选择添加删除组件,选择Internet信息服务,也就是IIS3->点击下一步安装就好了安装好之后也许你的机子会正常的显示http://localho

  • 吞噬星空鸿蒙殿主,论《吞噬星空》是鸿蒙三部曲的最后一部!

    吞噬星空鸿蒙殿主,论《吞噬星空》是鸿蒙三部曲的最后一部!该楼层疑似违规已被系统折叠隐藏此楼查看此楼众所周知,番茄的鸿蒙系列小说有两部已经完本,分别是《星辰变》和《盘龙》,不知道大家发现没有,在《星辰变》和《盘龙》的结尾部分番茄已经在文中埋下伏笔,预示着《吞噬星空》就是鸿蒙三部曲的最后一部作品!《盘龙》原文:鸿蒙金榜瞬间便吸收了这一丝灵魂之力,顿时在第一行,鸿字之后,出现了一个字林。一瞬间,林雷脑海中浮现了许多讯息,也会了不少神通能力。“原来,鸿蒙掌控…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号