【发布时间】:2019-10-08 17:32:07
【问题描述】:
有一个父 div 具有绝对定位,而子 div 具有绝对定位。 我的问题是使子 div 相对于整个页面而不是其父:
例子:
.parent {
position: absolute;
top: 10px;
left: 10px;
width: 100px;
height: 100px;
background-color: blue;
overflow: hidden;
animation: move 2s infinite;
}
.child {
position: fixed;
top: 5px;
left: 5px;
width: 50px;
height: 50px;
background-color: purple;
z-index: 2;
}
@keyframes move {
50% {
transform: translateX(25px);
}
}
<div class="parent">
<div class="child"></div>
</div>
目标是让紫色的小div固定在屏幕的左上角,当蓝色的大div移到外面时隐藏起来。我尝试了sticky - fixed,结果相同。
【问题讨论】:
-
那么元素应该是兄弟元素。您需要将“孩子”放置在 DOM 中的其他位置以使其正常工作
-
这样,我无法使用
overflow: hidden并且不会隐藏div -
看起来与Transform的使用有关
-
@GarrGodfrey stackoverflow.com/q/15194313/8620333