Pengenalan unit panjang peratusan viewport (vh dan vw) dalam CSS3 telah memperkasakan pembangun dengan kawalan yang tepat lebih susun atur responsif. Walau bagaimanapun, penyemak imbas tidak mentafsir unit ini secara asli, menimbulkan cabaran untuk keserasian merentas platform.
Untuk mengatasi had ini, pembangun telah menerima pemalam JavaScript dan jQuery yang menterjemah vh dan unit vw ke dalam nilai piksel, menyokong penggunaannya merentas penyemak imbas.
Bersama-sama dengan saiz fon, unit vh dan vw boleh digunakan dengan selamat untuk elemen saiz. Contoh di bawah menunjukkan aplikasi unit vh untuk ketinggian dan lebar:
div { height: 6vh; width: 20vh; /* Using vh for both width and height */ }
Sampel pemalam jQuery menggunakan acara window.resize untuk mengemas kini penukaran piksel secara automatik, memastikan reka letak kekal responsif kepada perubahan dalam dimensi port pandang. Versi pemalam yang dikemas kini oleh elclanrs, jquery.columns, memanjangkan fungsi ini untuk memudahkan reka letak responsif.
Fungsi parseProps bertanggungjawab untuk menukar unit port pandangan kepada nilai piksel. Dengan melelaran melalui sifat CSS, ia mengenal pasti sebarang nilai dengan unit vh atau vw dan melakukan penukaran. Objek yang terhasil dengan nilai piksel kemudiannya digunakan pada gaya CSS melalui $.fn.css.
Pemalam disepadukan dengan lancar dengan kaedah css asli, membenarkan pembangun menggunakan unit vh dan vw secara langsung dalam pengisytiharan gaya CSS mereka. Pemalam mengendalikan penukaran di sebalik tabir, menyediakan penyelesaian yang mudah dan merentas penyemak imbas untuk saiz berasaskan port pandang.
Contoh berikut menunjukkan penggunaan pemalam:
$('div').css({ height: '50vh', width: '50vw', marginTop: '25vh', marginLeft: '25vw', fontSize: '10vw' });
Dengan memanfaatkan pemalam JavaScript dan jQuery, pembangun boleh memanfaatkan kuasa unit port pandang untuk reka letak responsif, memastikan prestasi yang konsisten merentas pelbagai penyemak imbas.
Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Membantu Melaksanakan Unit Viewport untuk Responsif Merentas Pelayar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!