"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > iPad의 가로 모드용 iOS 7 Safari에서 높이 불일치가 20px인 이유는 무엇입니까?

iPad의 가로 모드용 iOS 7 Safari에서 높이 불일치가 20px인 이유는 무엇입니까?

2024-11-08에 게시됨
검색:600

Why is There a 20px Height Discrepancy in iOS 7 Safari for iPad\'s Landscape Mode?

iOS 7 Safari 가로 레이아웃 불일치: 내부 높이 대 외부 높이

iPad용 iOS 7 Safari에서는 웹 앱에서 다음과 같은 독특한 문제가 발생합니다. 높이를 100% 활용합니다. window.innerHeight(672px) 및 window.outerHeight(692px) 값은 가로 모드에서만 분기됩니다. 이러한 불일치로 인해 사용되지 않는 공간이 20px 추가되어 탐색 요소의 레이아웃과 화면 하단의 절대 위치에 있는 요소에 영향을 미칩니다.

Apple이 이 문제를 해결할 때까지 이 문제를 완화하기 위해 개발자는 해결 방법을 사용했습니다. 한 가지 접근 방식은 iOS 7에서 본문 위치를 절대적으로 지정하여 20px 간격을 페이지 하단이 아닌 상단으로 효과적으로 이동하는 것이었습니다. 그러나 보다 효과적인 솔루션이 등장했습니다.

신체 위치를 고정으로 설정하면 문제를 피할 수 있습니다.

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

iOS 7을 실행하는 iPad 장치를 식별하려면 다음 스크립트를 사용할 수 있습니다.

if (navigator.userAgent.match(/iPad;.*CPU.*OS 7_\d/i)) {
    $('html').addClass('ipad ios7');
}

이 해결 방법을 구현함으로써 개발자는 iPad용 iOS 7 Safari에서 적절한 레이아웃 동작을 보장하여 문제가 되는 높이 불일치와 탐색 및 위치 지정에 미치는 영향을 제거할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3