移动 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中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

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

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

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能