iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >如何解决CSS3的opacity属性带来的层叠顺序问题
  • 130
分享到

如何解决CSS3的opacity属性带来的层叠顺序问题

2024-04-02 19:04:59 130人浏览 泡泡鱼
摘要

这篇文章主要介绍“如何解决css3的opacity属性带来的层叠顺序问题”,在日常操作中,相信很多人在如何解决CSS3的opacity属性带来的层叠顺序问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用

这篇文章主要介绍“如何解决css3的opacity属性带来的层叠顺序问题”,在日常操作中,相信很多人在如何解决CSS3的opacity属性带来的层叠顺序问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决CSS3的opacity属性带来的层叠顺序问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在最近的一个作品中,在使用 opacity 属性来实现页面整体透明的时候,发现了一个问题。如果两个层发生了重叠,使用了 opacity 属性并且属性值小于1的层,会覆盖掉后面的层。于是动手做了个实验,来验证 opacity 的层次。

网页中的层叠规律是这样的:如果两个层都没有定义 position 属性为 absolute 或者 relative 属性,哪个层的html代码放在后面,哪个层就显示在上面。如果指定了 position 属性,并且设置了 z-index 属性,谁的值大,谁就在上面。

发现问题

而对于没有激活 z-index 的普通层来说,如果那个层使用了属性值小于1的 opacity 属性,哪个层就会显示在上面。我们做一个Demo。代码如下:

CSS Code复制内容到剪贴板

  1.  <!DOCTYPE html>   

  2.  <html>   

  3.  <head>   

  4.  <title>带有 opacity 的层叠问题</title>   

  5.  <style>   

  6.  html{padding:40px;}   

  7.  .dd{width:100px;height:100px;}   

  8. a{background:red;}   

  9.   

  10. b{background:blue;margin-left:20px;margin-top:-80px;}   

  11.   

  12. c{background:green;margin-left:40px;margin-top:-80px;}   

  13.   

  14. </style>   

  15. </head>   

  16. <body>   

  17. <div id=”a”></div>   

  18. <div id=”b”></div>   

  19. <div id=”c”></div>   

  20. </body>   

  21. </html>  

保存为 html 文件打开之后,可以看到正常的次序
如何解决CSS3的opacity属性带来的层叠顺序问题

这时候,我们为 #a 加上属性 opacity:0.9 神奇的事情发生了,它覆盖了另外两个层
如何解决CSS3的opacity属性带来的层叠顺序问题

只有当为另一个层(例如:#c)也设置一个小于1的opacity值(例如:0.8)之后,后面的 #c 才能安装正常的规则覆盖在 #a 上面。
如何解决CSS3的opacity属性带来的层叠顺序问题

这样,增加了小于1的 opacity 属性的层,升高了一个层次。至于里面的科学原理,我没有想明白,或许也可能是一个小BUG。但是有时候这种情况是我们不希望发生的。

解决问题

那么如何来解决这个问题呢?前面也说过了,正常的情况下,指定了 position 并且指定了 z-index 值的层,拥有比普通层更高的层次,那么指定 opacity 的层和指定了 position 的层相比呢?我们对 #b 加上 position:relative 看看。这时候的样式代码如下:

CSS Code复制内容到剪贴板

  1.  #a{background:red;opacity:0.9;}   

  2. b{background:blue;margin-left:20px;margin-top:-80px;position:relative;}   

  3.   

  4. c{background:green;margin-left:40px;margin-top:-80px;opacity:0.8;}  

保存刷新后,看到效果是这样的:
如何解决CSS3的opacity属性带来的层叠顺序问题

也就是说,对层使用 position 属性的 relative 之后,可以使其层次和 opacity 相同,这样之后,按照正常的排序进行层叠显示(在后面的实验中,我对 absolute 属性值也做了测试,结果和 relative 属性值表现的相同)。当我们取消了 #c 的 opacity 属性之后,我们可以看到,#c 被排在了最下面。
如何解决CSS3的opacity属性带来的层叠顺序问题

还没有完,之前只是对 #b 激活了position:relative 属性,还没有使用 z-index。我们对 #b 进行了 z-index 的设置(例如:100),很显然的,#b 成为了最顶层。
如何解决CSS3的opacity属性带来的层叠顺序问题


得出结论:

使用了position属性值为 absolute、relative 的层,将会比普通层更高层次。使用了小于1的opacity属性的层,也比普通层更高层次并且和指定 position 的层同层,但是不支持 z-index 属性,所以指定 position 的层,可以使用 z-index 属性,来覆盖带有小于1的 opacity 属性的层。

到此,关于“如何解决CSS3的opacity属性带来的层叠顺序问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何解决CSS3的opacity属性带来的层叠顺序问题

本文链接: https://www.lsjlt.com/news/77916.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决CSS3的opacity属性带来的层叠顺序问题
    这篇文章主要介绍“如何解决CSS3的opacity属性带来的层叠顺序问题”,在日常操作中,相信很多人在如何解决CSS3的opacity属性带来的层叠顺序问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-19
  • 如何解决CSS3中的Opacity多浏览器透明度兼容性问题
    如何解决CSS3中的Opacity多浏览器透明度兼容性问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。用来设定元素透明度的 ...
    99+
    2022-10-19
  • 如何解决div层调整z-index属性无效的问题
    本篇文章为大家展示了如何解决div层调整z-index属性无效的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。z-index 无效在做的过程中,发现了一个很简单...
    99+
    2022-10-19
  • 如何解决Docker-compose中depends_on顺序的问题
    小编给大家分享一下如何解决Docker-compose中depends_on顺序的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!正文:需求是要将一个 打包好的...
    99+
    2023-06-25
  • 怎么解决CSS3中transition-delay属性默认值0不带单位失效的问题
    这篇文章给大家分享的是有关怎么解决CSS3中transition-delay属性默认值0不带单位失效的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSS3 里面的 transition-delay 用了0默...
    99+
    2023-06-08
  • 如何使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
    小编给大家分享一下如何使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了...
    99+
    2022-10-19
  • 如何解决ReactuseEffect钩子带来的无限循环问题
    目录什么导致的无限循环以及如何解决它们如何解决这个问题使用函数作为依赖项使用数组作为依赖项将对象作为依赖项传递传递不正确的依赖项结尾React的useEffect Hook可以让用户...
    99+
    2022-11-13
  • 如何解决微信小程序中textarea层级过高的问题
    这篇文章给大家分享的是有关如何解决微信小程序中textarea层级过高的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。建立一个新的textarea 组件代替原生textare...
    99+
    2022-10-19
  • numpy和ASP:如何解决数据类型同步所带来的性能问题?
    在数据处理的过程中,我们常常需要使用不同的编程语言来处理不同的数据类型。这就带来了一个问题,就是如何解决数据类型同步所带来的性能问题。在本文中,我们将介绍如何使用numpy和ASP来解决这个问题,并且我们还将穿插一些演示代码来帮助读者更好...
    99+
    2023-10-30
    numpy 同步 数据类型
  • 一个属性border-collapse如何解决Table的边框问题
    这期内容当中小编将会给大家带来有关一个属性border-collapse如何解决Table的边框问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 ...
    99+
    2022-10-19
  • 如何解决SQL语句中AND和OR执行顺序遇到的问题
    这篇文章将为大家详细讲解有关如何解决SQL语句中AND和OR执行顺序遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。场景1、有一张学生表Student,表字段包括...
    99+
    2022-10-18
  • 如何解决jQuery同步Ajax带来的UI线程阻塞问题
    这篇文章主要介绍如何解决jQuery同步Ajax带来的UI线程阻塞问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码...
    99+
    2022-10-19
  • 索尼如何解决Linux带来设备内存不足的问题
    索尼如何解决Linux带来设备内存不足的问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。索尼的工程师 Peter Enderborg 近日在 LKML 的一封邮件中提出了一个...
    99+
    2023-06-15
  • 如何解决对象不支持indexOf属性或方法的问题
    小编给大家分享一下如何解决对象不支持indexOf属性或方法的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!var diva...
    99+
    2022-10-19
  • 如何解决Python3.8+Tkinter: Button设置image属性不显示的问题
    这篇文章主要介绍了如何解决Python3.8+Tkinter: Button设置image属性不显示的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  ...
    99+
    2023-06-20
  • PHP 缓存面试文件:如何解决缓存带来的一些问题?
    PHP 缓存是一种非常有用的技术,可以帮助我们提高网站性能,减少服务器负载,以及节省带宽等资源。但是,缓存也会带来一些问题,比如缓存数据过期、缓存不一致等等。本文将介绍如何解决这些问题,并提供一些演示代码。 一、缓存数据过期 缓存数据过期...
    99+
    2023-07-30
    缓存 面试 文件
  • 如何解决IE6不支持min-height或max-width等属性的问题
    本篇内容介绍了“如何解决IE6不支持min-height或max-width等属性的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望...
    99+
    2022-10-19
  • 如何解决Angularjs异步操作后台请求用$q.all排列先后顺序的问题
    这篇文章主要介绍了如何解决Angularjs异步操作后台请求用$q.all排列先后顺序的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。最...
    99+
    2022-10-19
  • 如何解决vue动态为数据添加新属性遇到的问题
    这篇文章主要介绍了如何解决vue动态为数据添加新属性遇到的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vue为数据添加属性时遇到的坑,...
    99+
    2022-10-19
  • Vuex给state中的对象新添加属性遇到问题如何解决
    这篇文章主要介绍“Vuex给state中的对象新添加属性遇到问题如何解决”,在日常操作中,相信很多人在Vuex给state中的对象新添加属性遇到问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue...
    99+
    2023-07-04
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作