ホームページ > ウェブフロントエンド > CSSチュートリアル > iOS 7 Safari ランドスケープ モードで window.innerHeight が wi​​ndow.outerHeight と異なるのはなぜですか?

iOS 7 Safari ランドスケープ モードで window.innerHeight が wi​​ndow.outerHeight と異なるのはなぜですか?

DDD
リリース: 2024-10-25 22:45:29
オリジナル
855 人が閲覧しました

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

iOS 7 iPad Safari 横向きレイアウトのバグ: InnerHeight/OuterHeight の不均衡

iOS 7 Safari では、本体の高さが 100% の Web アプリケーションランドスケープモードで特有の問題が発生します。 window.innerHeight (672px) は window.outerHeight (692px) とは異なります。

この不一致により、表示可能領域の下に追加の 20 ピクセルのスペースが生じ、上にスワイプするとナビゲーション要素がブラウザー クロムの背後に隠れてしまいます。 。画面下部に絶対に配置された要素も 20 ピクセルずれて表示されます。

回避策

このバグを軽減するには、ボディの高さを明示的に設定する CSS ハックを適用できます。

<code class="css">@media (orientation:landscape) {
    html.ipad.ios7 > body {
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 672px !important;
    }
}</code>
ログイン後にコピー

iOS 7 を実行している iPad デバイスを識別するには、次のスクリプトを使用します。

<code class="javascript">if (navigator.userAgent.match(/iPad;.*CPU.*OS 7_\d/i)) {
    $('html').addClass('ipad ios7');
}</code>
ログイン後にコピー

この回避策を適用すると、outerHeight はinnerHeight と強制的に一致させることで、アプリのレイアウトが iOS 7 Safari ランドスケープ モードで意図したとおりに動作するようにします。

以上がiOS 7 Safari ランドスケープ モードで window.innerHeight が wi​​ndow.outerHeight と異なるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート