为什么我的全屏背景图像在移动 Chrome 中跳转以及如何修复它?
移动 Chrome 中的背景图像偏移问题
在响应式网页设计中,通常使用可平滑调整大小和过渡的全屏背景图像。然而,开发者经常会遇到这样的问题:当 iOS Safari、Android 浏览器或 Android 上的 Chrome 中的地址栏向下滚动时隐藏时,背景会突然跳转。
问题原因
使用背景大小值为“cover”的固定高度背景 div 时会出现问题。随着地址栏缩小,背景div的高度发生变化,导致图像重新调整其大小和位置以覆盖可用区域。
解决方案1:将#bg1和#bg2高度设置为100vh
尝试将背景 div 高度设置为 100vh(视口高度)看起来很优雅解决方案,但 iOS 有一个 vh bug,导致此方法无法可靠工作。
解决方案 2:使用 Javascript 设置静态高度
由于 Javascript 确定视口大小不受 URL 栏的影响,您可以使用 Javascript 根据视口大小在背景 div 上设置静态高度。这不是一个理想的解决方案,但它可以有效地防止背景图像调整大小:
var bg = $("#bg1, #bg2"); function resizeBackground() { bg.height($(window).height()); } $(window).resize(resizeBackground); resizeBackground();
附加说明
需要注意的是,此问题是由iOS 和 Android 平台中调整地址栏大小。这些浏览器中的最新更改可以使用滚动技巧防止在页面加载时隐藏 URL 栏。
解决滚动间隙
上述脚本有效地防止了后台调整大小,但当用户向下滚动时可能会导致明显的间隙。要解决此问题,请在背景高度上添加 60 像素:
function resizeBackground() { bg.height( $(window).height() + 60); }
此修改将防止出现间隙,但可能会导致在存在 URL 栏时隐藏背景图像的底部 60 像素。
以上是为什么我的全屏背景图像在移动 Chrome 中跳转以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)