html - Safari 中的固定位置
问题描述
子固定定位元素在 Safari 中不可见。
.parent {
position: fixed;
width: 70%;
height: 60%;
overflow: auto;
background: red;
}
.child {
position: fixed;
top: 10%;
right: 10%;
background: blue;
}
<div class="parent">
Hello <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>gfgfg
<div class="child">Close</div>
</div>
是否有任何 CSS 属性可以使其在 Safari 中可见?任何帮助将不胜感激。
解决方案
是的,将子位置更改为absolute
;
.child {
position: absolute;
top: 10%;
right: 10%;
background: blue;
}
您会注意到,在 Safari 中,该元素实际上是存在的,但您已overflow
在parent
div 上进行了设置。而且由于子元素是fixed
,溢出不适用于它,我相信fixed
另一个元素中的fixed
元素仍然会将它带出文档流并将其定位在 DOM 上 - 但仍然尊重父元素的宽度。
从您的父 div 中删除overflow: auto
,您将看到子 div。
这里有更多关于嵌套固定元素的阅读: CSS: position:fixed inside of position: fixed
编辑:如果必须修复孩子,您可能必须考虑更改标记:
.parent {
position: fixed;
width: 100%;
height: 60%;
}
.content {
position: fixed;
width: 70%;
height: 60%;
background: red;
overflow: auto;
}
.child {
position: fixed;
top: 10%;
right: 10%;
background: blue;
}
<div class="parent">
<div class="content">
Hello <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>gfgfg
</div>
<div class="child">Close</div>
</div>
推荐阅读
- javascript - 如何在 React Native 中使用 i18next 进行本地化
- reactjs - 如何使用扩展函数删除 React 中的嵌套对象
- python - 通过会话代理的 python 请求
- reactjs - 我找不到关于 create-react-app 的问题
- selenium - 在 Selenium python 中找到一个具有特定文本跨度的按钮
- node.js - 如何通过指定星号 (*) 使用节点运行所有测试?
- java - Java GC - Minor GC Collection 是 STW 事件吗?
- ssis - SSIS 暂存截断仓库
- javascript - 如何解决 Socket.io 传输轮询错误
- python - 在 tensorflow 2/keras 中重新分配权重