IOS safari 하단 주소창과 css fixed | 높이값 인식 문제
2023. 1. 23. 22:05ㆍWeb Frontend
관련 문제로 일주일을 고심한 적이 있었는데, 구체적인 상황은 아래와 같았습니다.
하단 주소창이 없는 상태에서 버튼을 눌러 css fixed를 활용하여 전체 화면을 꽉 채우는 모달(이하 풀 모달)을 띄웠을 때
하단 주소창이 나오거나 전체 높이 값을 제대로 인식 못 했습니다.
원인:
버튼을 눌러 css fixed 처리시 scroll 이벤트가 발생하여 하단 주소창 발생
해결 방안 :
html 높이값을 window.innerHeight 보다 높게 주기
구체적은 방법 :
##1. resize 이벤트로 window.innerHeight 보다 높게해서 :root의 css custom variable에 저장하기(IOS version 때문인지, 아니면 아이폰 기기 마다 다른 viewport 높이 때문인지 분기하여 해당 값을 조절했어요.)
##2. html 높이값에 해당 custom variable을 적용.
##3. 풀 모달 있는 상태에서 touchmove시 보이지 않지만 내부적인 메커니즘으로 바운스 동작이 발생할 경우 잠깐 동안 스크롤 되지 않는 현상을 방지하기 위해 iNObounce.js 활용하여 바운스 행위를 방지(https://github.com/lazd/iNoBounce)
'Web Frontend' 카테고리의 다른 글
개발자의 삶을 획기적으로 변화시킨 ChatGPT와 Bing 채팅 (0) | 2023.03.22 |
---|---|
시안이 PC와 Mobile 2개 뿐이고 모든 해상도를 고려해야 할 때 (0) | 2023.01.28 |
디바운스(Debounce)와 쓰로틀링(Throttle) 예제 (0) | 2022.10.23 |
CSS - pointer-events (0) | 2022.05.12 |
국비교육 웹프론트엔드 & 웹퍼블리셔 학원 추천 (0) | 2022.03.11 |