페이지를 화면에 position: fixed로 고정해서 스크롤/바운스 자체를 없앰

배경색을 맞추는 대신, html/body를 position: fixed + overflow: hidden +
overscroll-behavior: none으로 화면에 못박아 브라우저가 바운스할 대상
자체가 없게 만듦 (Safari/iOS에서 rubber-band 스크롤을 막는 표준 기법).
Flutter 내부 스크롤(대시보드, 하위 화면 목록 등)은 별도로 동작하므로
영향 없음 - 실제로 정상 스크롤되는 것 확인함.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-08 19:29:20 +09:00
co-authored by Claude Sonnet 5
parent a0403e40f2
commit ce77c32026
+9 -4
View File
@@ -36,13 +36,18 @@
<title>school_attendance</title>
<link rel="manifest" href="manifest.json">
<!-- 🌊 다른 사이트들처럼 트랙패드로 스크롤 경계를 넘어 "바운스"할 때
엉뚱한 파란색이 아니라 우리 앱 배경색이 자연스럽게 드러나 보이게 한다.
(overflow: hidden으로 막아버리면 브라우저가 실제 스크롤 가능한 페이지로
인식하지 못해서, 바운스 시 배경색 대신 브라우저 기본색(파란색)이 나온다.) -->
<!-- 🌊 화면 크기에 딱 맞춰서 페이지 자체가 스크롤/바운스되지 않게 고정한다.
position: fixed로 문서를 화면에 못박아 버려서, 트랙패드로 스크롤 경계를
넘어가도 사파리/크롬이 바운스할 대상 자체가 없다 (안쪽 콘텐츠 스크롤은
Flutter가 알아서 처리하므로 영향 없음). -->
<style>
html, body {
position: fixed;
inset: 0;
width: 100%;
height: 100%;
overflow: hidden;
overscroll-behavior: none;
background-color: #EEF0F2;
}
</style>