gpt4 book ai didi

css - 覆盖不覆盖溢出 :scroll; Modal isn't fixed

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:54 24 4
gpt4 key购买 nike

演示:http://jsbin.com/zijisaxoke/1/edit?html,css,output

我有一个可滚动的容器,里面有一个内容 div(假设内容 div 的宽度可变)。但是,容器的宽度固定为 100%(也可以更改)。

我还有一个模式,它有一个绝对定位的灰色覆盖层。我的目标是让灰色覆盖覆盖容器的整个可滚动内容,但现在它只覆盖初始视口(viewport)大小。我还想让模态本身固定在容器的左上侧,不管滚动位置如何,但似乎 position: fixed 不尊重父级的 position:相对

.container {
position: relative;
width: 100%;
height: 200px;
background-color: red;
overflow: scroll;
}
.content {
width: 2000px;
height: 300px;
}
.overlay {
z-index: 200;
position: absolute;
opacity: 0.7;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #000;
}
.modal {
z-index: 500;
position: fixed;
width: 300px;
background-color: green;
top: 0;
left: 0;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div class="stuff">hi</div>
<div class="container">
<div class="content">aaa</div>
<div class="overlay"></div>
<div class="modal">Hello</div>
</div>
</body>
</html>

如何使模态框相对固定在容器内部,并使覆盖层覆盖整个 div 的可滚动区域?

最佳答案

这是一个 JS 解决方案:

$('.container').on('scroll', function() {
var scrollTop = $(this).scrollTop();
$('.overlay').css('top', scrollTop);
$('.overlay').css('bottom', -scrollTop);
});

以及对应的JS Bin: http://jsbin.com/xahehodeqe/3/edit?html,css,js,console,output

关于css - 覆盖不覆盖溢出 :scroll; Modal isn't fixed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com