javascript - 如何使粘性 div 响应浮动(位置:固定)div?
问题描述
我正在使用 Material UI 的<Appbar />
组件,它编译为一个位置为:fixed; 的 div。这里的“滚动隐藏”效果使用visibility: hidden;
和transform: translateY(-59px);
隐藏栏。
现在,我想在这个<Appbar />
组件下添加一个粘性 div,但结果是粘性 div 不受<Appbar />
DOM 流中的影响。所以,本质上,它只是向上滚动到顶部(在 下方或上方<Appbar />
,取决于 z 索引),然后像它应该的那样粘住。
我知道这position: fixed;
会删除文档中的元素自然空间并使其“浮动”,所以我想这就是粘性 div 不响应它的原因。
我想要的是粘性 div 将其保持在 下方<Appbar />
,并且当<Appbar />
消失时粘性 div 会相应地移动其在文档中的位置。谁能在这里给我小费?
在此处查看沙箱: https ://codesandbox.io/s/quiet-fast-pb9fv?file=/src/HideAppBar.js
解决方案
在这种情况下,您遵循“合气道原则”,不要为停止效果而挣扎,而是让它发生并利用它。我的意思是,如果它一直向上滑动,让它一直向上滑动,让它看起来好像没有。这可以通过多种方式实现。给它一个容器和一个padding-top
(所以碰到边缘的部分是透明的),或者给它一个margin-top
(几乎相同)。如果它覆盖了下面的东西,你可以用pointer-events:none
它来点击它。
我确信您已经有了正确的想法,而无需显示您的代码。但是,是的,上面的评论是对的:如果我们看到您所看到的,我们可以提供更多帮助。
这篇文章实际上是一个评论,我只需要格式。
推荐阅读
- python - 如何使用点积组合 2 个数据帧
- php - MySQL中的Auto_Increment和PHP中的PDO问题
- c - 如何在我的 C 程序中修复“复制:错误的文件描述符”
- python-3.x - Pytorch 加载的模型给出不一致的结果
- c# - 如何在动态创建的选项卡项中显示列表框中的项目
- javascript - 如果元素属于数组 Firestore
- python - 根据第一个元素搜索元组列表并获取第二个元素值列表
- java - 按钮动作导致看似随机的动作执行
- r - rgdal 安装在 Ubuntu 18.04 LTS 中,但 R 3.5 无法识别它
- node.js - 使用 Postgres 连接到 Heroku 的 Nodejs - 选择查询不显示数据