javascript - 如何使以下绝对定位的模态始终出现在中心(无论用户滚动到哪里)?

标签 javascript html css

我不能使用固定位置,因为我的应用程序应该嵌入到网站中(目前,大小为 800 像素 x 800 像素)。所以我正在使用 position: absolute。但是,如果用户滚动到底部太多,则如果模态显示在应用程序的顶部,他将看不到它。

所以,我这样做了:

// vreditor-sdk is the outermost container
const currentScrollTop = document.querySelector('.vreditor-sdk').scrollTop
this.emement.style.top: currentScrollTop

这使得模态看起来像这样(无论用户滚动到哪里):

enter image description here

但是如何使模式出现在 800px x 800px 容器的中间,而不管用户滚动到哪里?

最佳答案

使用position: fixed;,就不用javascript定位了。

.vreditor-sdk {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
}

.content {
  height: 5000px;
}
.vreditor-sdk {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
  transform: translateX(-50%);
  background: grey;
  padding: 20px;
}
<div class="content">
<div class="vreditor-sdk">
 pop up
</div>
</div>

关于javascript - 如何使以下绝对定位的模态始终出现在中心(无论用户滚动到哪里)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51434353/

相关文章:

html - 底部的 iframe 在页脚后生成空白

javascript - 未捕获的语法错误 :unexpected token illegal

javascript - 空格和引号的正则表达式

javascript - 用一个动画切换两个字段

html - 页面重新加载后选择某些部分元素

css - Bootstrap - 在导航栏上设置封面图像

javascript - 如何强制网页脱离 native 移动应用程序?

javascript - 我需要在 webgl 中创建平滑的 alpha 过渡

javascript - 在 img 标签中显示 mjpeg 的替代方案(使用基本身份验证)

html - Jquery 同位素 masonry 布局在 Bootstrap 3 中的元素之间留下间隙