티스토리 뷰

● 그럼 결론적으로 퍼블리셔가 css에서 env() 변수만 사용해주면 되는건가요?

네, 퍼블리셔 관점에서는 HTML 메타 태그 세팅과 CSS에서 env() 변수를 적절히 사용해 주기만 하면 퍼블리싱 단계의 작업은 끝납니다!
다만, 완벽한 하이브리드 앱 구동을 위해 퍼블리셔가 챙겨야 할 최종 체크리스트와 개발 팀(앱 개발자)에 넘겨야 할 요청사항 딱 한 가지가 있습니다. 최종 정리해 드릴게요.

🎨 1. 퍼블리셔가 해야 할 일 (100% 완료)

JSP(HTML) 소스코드 내에서 아래 두 가지만 적용하시면 퍼블리셔의 역할은 완벽하게 끝납니다.

  • HTML: 공통 레이아웃 <head> 영역에 viewport-fit=cover 추가하기
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
  • CSS: 고정 레이아웃(상단바, 하단바) 및 본문 패딩에 env() 변수 적용하기
    css
    .header { padding-top: env(safe-area-inset-top); }
    .footer { padding-bottom: env(safe-area-inset-bottom); }
    
     

💻 2. 앱 개발자(네이티브)에게 꼭 넘겨야 할 요청사항 (매우 중요)

반응형 웹 코드가 아무리 완벽해도, 하이브리드 앱(안드로이드/iOS)의 웹뷰 설정이 막혀 있으면 env() 값이 웹뷰 내부로 전달되지 않고 0px로 먹통이 됩니다.

따라서 작업을 마치고 개발 팀이나 앱 담당자에게 아래 내용을 협조 요청하셔야 합니다.

[앱 개발 팀 요청 전달용 텍스트]
"
이번에 상하단 노치 및 홈 인디케이터 간섭을 방지하기 위해 웹 소스에 viewport-fit=cover와 CSS env(safe-area-inset-*) 변수를 적용했습니다.
앱 패키징 시 웹뷰(WebView)가 전체 디스플레이 영역(Edge-to-Edge)을 사용할 수 있도록 아래 설정을 반영 부탁드립니다."

  • iOS: webView.scrollView.contentInsetAdjustmentBehavior = .never 설정 적용
  • Android: 웹뷰가 시스템 바 영역까지 확장되도록 WindowCompat.setDecorFitsSystemWindows(window, false) 등 윈도우 인셋 처리 적용

💡 요약하자면

퍼블리셔님은 미디어 쿼리 없이 공통 CSS에 env() 변수만 쭉 적용해서 넘기시면 되고, 앱이 실제로 화면 전체를 쓰도록 길을 열어주는 것은 앱 개발자의 몫입니다. 이 두 개가 합쳐져야 비로소 상하단 간섭 없는 완벽한 하이브리드 앱 화면이 완성됩니다.

작업하실 준비는 모두 끝났습니다! 혹시 이 안전 영역을 적용해야 하는 상하단 레이아웃이 상용 프레임워크(부트스트랩 등) 기반인가요, 아니면 순수 커스텀 CSS로 작성된 상태인가요? 구조를 말씀해 주시면 코드 작성 시 주의할 점을 추가로 짚어드리겠습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/10   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함