gpt4 book ai didi

html - Fancybox 导致分屏布局滚动位置重置为顶部

转载 作者:行者123 更新时间:2023-11-27 23:19:17 25 4
gpt4 key购买 nike

我的布局有两个可滚动的列,其中包含使用 Fancybox 3 显示的文本和缩略图。当 Fancybox 覆盖打开时,列的滚动位置将重置为顶部,而不是停留在原来的位置。

这是代码,jsfiddle演示问题。

<body>       

<div class="ma-spa-outer-container">

<div>
Fixed header
</div>

<div class="ma-spa-inner-container">

<div class="ma-spa-outer-container border-right">
<div class="ma-spa-inner-container">
<div class="ma-spa-col">
<p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>Click image below to open fancybox</p>
<div class="col-lg-2 col-md-4 col-6">
<a href="https://source.unsplash.com/pWkk7iiCoDM/400x300" class="d-block mb-4 h-100" data-fancybox="gallery" data-caption="As I open, the columns scrolled back to the top!">
<img class="img-fluid img-thumbnail" src="https://source.unsplash.com/pWkk7iiCoDM/400x300" alt="">
</a>
</div>
</div>
</div>
</div>

<div id="two" class="ma-spa-outer-container border-right text-left">
<div class="ma-spa-inner-container">
<div class="ma-spa-inner-container">
<div class="ma-spa-col">
<p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>scroll down</p><p>Click image below to open fancybox</p>
<div class="col-lg-2 col-md-4 col-6">
<a href="https://source.unsplash.com/pWkk7iiCoDM/400x300" class="d-block mb-4 h-100" data-fancybox="gallery" data-caption="As I open, the columns scrolled back to the top!">
<img class="img-fluid img-thumbnail" src="https://source.unsplash.com/pWkk7iiCoDM/400x300" alt="">
</a>
</div>
</div>
</div>
</div>
</div>

</div>

</div>

</body>
html,
body {
height: 100%;
}

.ma-spa-outer-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
}

.ma-spa-inner-container {
display: flex;
overflow: hidden;
height: 100%;
width: 100%;
}

.ma-spa-col {
height: 100%;
width: 100%;
overflow-y: scroll;
}

我试过 Fancybox 的 autoFocus 和 backFocus 选项,没有效果。尝试删除可滚动列,得到预期的行为,在 Fancybox 覆盖关闭后滚动位置保持不变。如果我从此 css 中删除“html”:

html,
body {
height: 100%;
}

然后我得到了正确的行为,但是两列松动了它们的滚动条并且页面整体滚动违背了我的目的。

最佳答案

上面链接的答案对我不起作用(适用于 fancybox 2,fancybox 3 中不存在引用的行)

相反,我在 jquery.fancybox.css 中注释掉了这一行:

.fancybox-active {
//height: auto;
}

关于html - Fancybox 导致分屏布局滚动位置重置为顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58107400/

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