Maison >interface Web >tutoriel CSS >Pourquoi le mode paysage iPad Safari présente-t-il une différence de hauteur intérieure/extérieure dans iOS 7 ?

Pourquoi le mode paysage iPad Safari présente-t-il une différence de hauteur intérieure/extérieure dans iOS 7 ?

DDD
DDDoriginal
2024-10-26 20:26:30760parcourir

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

Énigme de mise en page paysage Safari sur iPad iOS 7 : surmonter l'anomalie innerHeight/outerHeight

Les utilisateurs d'iOS 7 sont confrontés à une énigme inhabituelle avec les applications Web sur le iPad en mode paysage de Safari. Le window.innerHeight (672px) diffère de window.outerHeight (692px), ce qui entraîne des problèmes de mise en page inattendus, tels que 20px d'espace supplémentaire en bas. Ce problème constitue un défi pour les applications qui utilisent 100 % de hauteur pour leur contenu Web.

Naviguer dans le labyrinthe de mise en page

Pour résoudre ce problème, diverses solutions ont vu le jour. Une approche consiste à positionner absolument l'élément body uniquement dans iOS 7 :

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

Cependant, cette approche déplace simplement l'espace supplémentaire vers le haut de la page plutôt que de l'éliminer.

Trouver une base solide : positionnement fixe et détection de l'agent utilisateur largeur pour une mise en page fiable :

Pour déterminer si un utilisateur navigue sur un iPad avec iOS 7, implémentez un script pour détecter l'agent utilisateur :

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

En employant ces techniques , les applications Web peuvent neutraliser efficacement l'écart innerHeight/outerHeight dans iOS 7 iPad Safari et offrir une expérience de navigation cohérente et raffinée en orientation portrait et paysage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn