Rumah >hujung hadapan web >tutorial css >Mengapa Mod Landskap Safari iPad Mempamerkan Percanggahan InnerHeight/OuterHeight dalam iOS 7?

Mengapa Mod Landskap Safari iPad Mempamerkan Percanggahan InnerHeight/OuterHeight dalam iOS 7?

DDD
DDDasal
2024-10-26 20:26:30759semak imbas

Why Does iPad Safari Landscape Mode Exhibit an innerHeight/outerHeight Discrepancy in iOS 7?

iOS 7 iPad Safari Landscape Layout Conundrum: Mengatasi Anomali InnerHeight/OuterHeight

Pengguna iOS 7 menghadapi teka-teki yang luar biasa dengan apl web pada iPad dalam mod landskap Safari. Window.innerHeight (672px) berbeza daripada window.outerHeight (692px), yang membawa kepada isu reka letak yang tidak dijangka, seperti 20px ruang tambahan di bahagian bawah. Isu ini menimbulkan cabaran untuk apl yang menggunakan ketinggian 100% untuk kandungan web mereka.

Menavigasi Layout Maze

Untuk menangani isu ini, pelbagai penyelesaian telah muncul. Satu pendekatan melibatkan meletakkan elemen badan secara mutlak hanya dalam iOS 7:

<code class="css">body {
    position: absolute;
    bottom: 0;
    height: 672px !important;
}</code>

Walau bagaimanapun, pendekatan ini hanya mengalihkan ruang tambahan ke bahagian atas halaman dan bukannya menghapuskannya.

Mencari Pijakan Teguh: Kedudukan Tetap dan Pengesanan Ejen Pengguna

Penyelesaian yang lebih mantap terletak pada menggunakan pertanyaan media untuk menggunakan kedudukan tetap pada elemen badan hanya semasa sesi iPad iOS 7 dan memastikan 100% lebar untuk reka letak yang boleh dipercayai:

<code class="css">@media (orientation:landscape) {
    html.ipad.ios7 > body {
        position: fixed;
        bottom: 0;
        width:100%;
        height: 672px !important;
    }
}</code>

Untuk menentukan sama ada pengguna menyemak imbas pada iPad dengan iOS 7, laksanakan skrip untuk mengesan ejen pengguna:

<code class="javascript">if (navigator.userAgent.match(/iPad;.*CPU.*OS 7_\d/i)) {
    $('html').addClass('ipad ios7');
}</code>

Dengan menggunakan teknik ini , apl web boleh meneutralkan percanggahan innerHeight/outerHeight dengan berkesan dalam iOS 7 iPad Safari dan menyampaikan pengalaman penyemakan imbas yang konsisten dan digilap dalam kedua-dua orientasi potret dan landskap.

Atas ialah kandungan terperinci Mengapa Mod Landskap Safari iPad Mempamerkan Percanggahan InnerHeight/OuterHeight dalam iOS 7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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