jquery - 在移动屏幕上调整窗口大小后的空白矩形

标签 jquery html css fixed

我有一个带有 postion:fixed 的容器,它占据了整个屏幕的大小:

.layer {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: red;
}

问题是,当您在移动设备(iPhone 和 Android)上向下滚动页面时,由于其地址行“收缩”(即其窗口高度值增加),.layer 高度保持不变,导致在您进一步滚动之前,它下方会出现一个空白矩形。

我试图绑定(bind)一个 window.resize 事件来重新计算 .layer 的高度:

$(window).resize(function(){
    $('.layer').css("height", "100%");
});

但是没有影响。有什么想法吗?

最佳答案

试试这个:

.layer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: red;
}

Flex 而不是位置:固定:

body {
  display: flex;
  min-height: 100%;
}
.layer {
   flex: 1 0 auto;
   width: 100%;
}

关于jquery - 在移动屏幕上调整窗口大小后的空白矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27598946/

相关文章:

javascript - 在 JQuery .css() 函数中使用变量

javascript - 有没有办法获取 HTML 元素的路径

javascript - 评估函数参数内的java脚本表达式

html - Hubspot 响应式布局怪癖

javascript - 是否可以将 '$(this)' 传递给 jQuery 中的委托(delegate)用户函数?

php - Javascript 和 PHP 的这种数据有什么问题

html - Bootstrap 4 导航栏/菜单在折叠时保持条目可见

html - Internet Explorer 中的导航菜单和功能区损坏

css - 如何在 CSS 中区分 Safari 和 Chrome?

html - 底部填充的 Firefox 问题