iOS/Android/Chrome 行動裝置上網址列隱藏時背景圖片跳轉
使用Twitter Bootstrap 的響應式網站經常會遇到背景圖片跳轉的問題在iOS Safari、Android 瀏覽器或Android 版Chrome 上滾動時,影像會移動或跳躍。出現這種情況是由於網址列調整了大小並改變了背景圖像容器 div 的大小。
原因和解決方案
罪魁禍首在於使用固定高度 ( 100%) 和背景大小:背景 div 的覆蓋物。當網址列縮小時,它會改變包含元素的高度,從而導致背景圖像調整大小和重新定位。
一個可能的解決方案是將背景 div 的高度設定為 100vh(視口高度)。然而,iOS 有一個 vh 錯誤,導致這種方法無法一致運作。
或者,更可靠的解決方案是使用 JavaScript 根據視窗大小設定背景 div 的靜態高度。這種方法避免了錯誤行為並防止滾動期間影像跳躍。以下程式碼示範了此解決方案:
var bg = $("#bg1, #bg2"); function resizeBackground() { bg.height($(window).height()); } $(window).resize(resizeBackground); resizeBackground();
但是,此方法可能會在向下捲動時引入間隙。為了緩解這種情況,建議在高度上添加60px 的緩衝區,如swiss 的建議:
function resizeBackground() { bg.height( $(window).height() + 60); }
雖然此解決方案在地址欄存在時犧牲了某些背景內容的可見性,但它阻止了使用者避免在滾動過程中遇到任何間隙或不一致。
以上是為什麼我的響應式網站在手機上網址列隱藏時背景圖片會跳轉?的詳細內容。更多資訊請關注PHP中文網其他相關文章!