Heim >Web-Frontend >CSS-Tutorial >Warum unterscheidet sich window.innerHeight von window.outerHeight im Safari-Querformatmodus von iOS 7?

Warum unterscheidet sich window.innerHeight von window.outerHeight im Safari-Querformatmodus von iOS 7?

DDD
DDDOriginal
2024-10-25 22:45:29848Durchsuche

Why is window.innerHeight Different from window.outerHeight in iOS 7 Safari Landscape Mode?

iOS 7 iPad Safari Querformat-Layoutfehler: InnerHeight/OuterHeight-Disparität

In iOS 7 Safari werden Webanwendungen mit einer Körperhöhe von 100 % angezeigt Im Querformat tritt ein besonderes Problem auf. Die window.innerHeight (672px) unterscheidet sich von der window.outerHeight (692px).

Diese Diskrepanz führt zu zusätzlichen 20px an Platz unter dem sichtbaren Bereich, was dazu führt, dass Navigationselemente beim Wischen nach oben hinter dem Browser-Chrom verborgen werden . Absolut positionierte Elemente am unteren Bildschirmrand erscheinen ebenfalls 20 Pixel entfernt.

Problemumgehung

Um diesen Fehler zu mildern, können Sie einen CSS-Hack anwenden, der die Körpergröße explizit festlegt auf 672px und positioniert es absolut nur in iOS 7:

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

Um iPad-Geräte mit iOS 7 zu identifizieren, verwenden Sie das folgende Skript:

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

Durch die Anwendung dieser Problemumgehung wird die äußere Höhe angezeigt Sie müssen die Anpassung an innerHeight erzwingen, um sicherzustellen, dass sich das Layout Ihrer App im Safari-Querformatmodus von iOS 7 wie beabsichtigt verhält.

Das obige ist der detaillierte Inhalt vonWarum unterscheidet sich window.innerHeight von window.outerHeight im Safari-Querformatmodus von iOS 7?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn