Rumah > hujung hadapan web > tutorial css > Mengapa Imej Latar Belakang Tapak Web Responsif Saya Melompat Apabila Bar Alamat Bersembunyi pada Mudah Alih?

Mengapa Imej Latar Belakang Tapak Web Responsif Saya Melompat Apabila Bar Alamat Bersembunyi pada Mudah Alih?

Linda Hamilton
Lepaskan: 2024-12-05 14:04:14
asal
218 orang telah melayarinya

Why Does My Responsive Website's Background Image Jump When the Address Bar Hides on Mobile?

Imej Latar Belakang Melompat Apabila Bar Alamat Tersembunyi pada iOS/Android/Chrome Mudah Alih

Tapak web responsif menggunakan Twitter Bootstrap sering menghadapi isu di mana latar belakang imej berubah atau melonjak apabila menatal pada iOS Safari, Penyemak Imbas Android atau Chrome untuk Android. Ini berlaku disebabkan bar alamat mengubah saiz dan mengubah saiz div bekas imej latar belakang.

Punca dan Penyelesaian

Penyebabnya terletak pada penggunaan ketinggian tetap ( 100%) dan saiz latar belakang: penutup untuk div latar belakang. Apabila bar alamat mengecil, ia menukar ketinggian elemen yang mengandungi, menyebabkan imej latar belakang diubah saiz dan kedudukan semula.

Satu penyelesaian yang berpotensi adalah untuk menetapkan ketinggian div latar belakang kepada 100vh (ketinggian viewport). Walau bagaimanapun, iOS mempunyai pepijat vh yang menghalang pendekatan ini daripada berfungsi secara konsisten.

Sebagai alternatif, penyelesaian yang lebih dipercayai melibatkan penggunaan JavaScript untuk menetapkan ketinggian statik pada div latar belakang berdasarkan saiz port pandang. Pendekatan ini mengelakkan tingkah laku buggy dan menghalang imej melompat semasa menatal. Kod berikut menunjukkan penyelesaian ini:

var bg = $("#bg1, #bg2");

function resizeBackground() {
    bg.height($(window).height());
}

$(window).resize(resizeBackground);
resizeBackground();
Salin selepas log masuk

Walau bagaimanapun, kaedah ini boleh memperkenalkan jurang apabila menatal ke bawah. Untuk mengurangkan ini, adalah disyorkan untuk menambah penimbal 60px pada ketinggian, seperti yang dicadangkan oleh swiss:

function resizeBackground() {
    bg.height( $(window).height() + 60);
}
Salin selepas log masuk

Walaupun penyelesaian ini mengorbankan keterlihatan beberapa kandungan latar belakang apabila bar alamat hadir, ia menghalang pengguna daripada menghadapi sebarang jurang atau ketidakkonsistenan semasa menatal.

Atas ialah kandungan terperinci Mengapa Imej Latar Belakang Tapak Web Responsif Saya Melompat Apabila Bar Alamat Bersembunyi pada Mudah Alih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan