javascript - 为什么具有较低 z-index 的固定定位元素位于具有较高 z-index 的相对定位元素的前面?
问题描述
我有一个控制滚动相关动画的代码。body 的直接子代是相互叠加的。所以第一个元素的 z-index 为 0,第二个元素的 z-index 为 1,依此类推。它们都是包装器,具有相对位置。他们的孩子首先有相对位置,如果元素到达窗口的顶部,它的位置就会切换到固定。如果发生这种情况,它的包装器会回到图层面板中(z-index:100),在另一个位置为固定的元素后面,z-index 为 2。这有点奇怪,因为如果包装器的子元素具有位置:相对,包装器放在正确的位置。在它的孩子的位置变成固定后,它立即回到图层中。这些东西之间有什么关系?为了更好地理解,我附上了一些来自 chrome devtools 的图片,图层: 这里,黑色元素是子元素,渐变元素是父元素。父级按z轴顺序停留在正确的位置,子级有位置:相对。 在这里,只需滚动几圈,孩子就会获得位置:固定,而父母会返回(z-index 100)。这里会发生什么?为什么父母回到图层中,如果它的孩子有位置:固定?
解决方案
推荐阅读
- ruby-on-rails - 带有 id 的 Rails 请求
- spring-boot - Keycloak Springboot 多客户端
- reactjs - 如何在 React Navigation v5 中同时使用堆栈导航、抽屉导航和选项卡导航
- php - 如何同时创建用户和公司模型?拉拉维尔
- python - 如何在一个单词中找到一个字母的多个索引?(Python)
- image - 颤振图像内存没有得到 gc
- swift - SwiftUI 多重绑定
- r - 如何为辅助 y 轴添加图例?
- json - 常规路由不会反序列化 json 正文请求(ASP.NET Core API)
- amazon-web-services - AWS EC2 - 使用 IAM 角色为托管在 S3 上的静态网站提供服务