javascript - Firefox 和 Chrome $(window) 高度差异

标签 javascript jquery css browser

我有一个垂直放置的模态,如下所示:

method.center = function () {
    var top, left;
    top = Math.max($(window).height() - $modal.outerHeight(), 0) / 2;
    left = Math.max($(window).width() - $modal.outerWidth(), 0) / 2;

    $modal.css({
        top:top + $(window).scrollTop(), 
        left:left + $(window).scrollLeft()
    });
};

无论窗口的高度如何,Firefox 始终在顶部计算 +157px。它们都水平居中。有没有更好、更一致的方法来找到窗口的高度,减去模态的高度并除以 2?

最佳答案

你真的需要用JS计算吗?因为它只能用 CSS 来实现,就像这样:

.container {
    border: 3px solid #73AD21;

    display: flex;
    align-items: center;

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.center {
    margin: auto;
}
<div class="container">
  <div class="center">
    <b>Note: </b>Using margin:auto will not work in IE8, unless a !DOCTYPE is declared.
  </div>
</div>

关于javascript - Firefox 和 Chrome $(window) 高度差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49239201/

相关文章:

javascript - 在石头剪刀布游戏中仅得到 "draw"结果

javascript - Bespin Embedded 中的 OnEdit/OnFocus Hook 或类似功能?

javascript - RxJS - 收到 n 次后发出值

javascript - 单击 different-2 缩略图时页面跳转

javascript - 为什么我的工具提示在鼠标悬停时不可见? (jQuery)

html - 媒体查询如何提高移动用户的网站性能

javascript - ReactJS:有更好的方法吗?

javascript - a.nodeName.toLowerCase 不是函数

css - 如何使表单中的值文本为斜体

iphone - CSS 媒体查询 - 无法使其正常工作