한 줄 요약 - 버튼 같은 기준 요소에 팝오버를 CSS만으로 딱 붙이고, 화면 끝에 닿으면 자동으로 반대편으로 뒤집습니다. JS 위치 계산이 필요 없어요.
이럴 때 필요해요
드롭다운/툴팁/메뉴를 버튼 바로 아래에 붙이고 싶은데 화면 가장자리에선 잘리곤 하죠. 그동안은 Floating UI 같은 JS 라이브러리로 위치를 계산했는데, 이제 CSS가 그 일을 대신합니다.
어떻게 동작하나
기준이 될 요소에 이름을 붙입니다. anchor-name: --ap
팝오버가 그 이름을 가리키고(position-anchor: --ap) anchor() 로 변을 맞춥니다. top: anchor(bottom) 은 내 위변을 기준의 아래변에 맞춰라 = 기준 아래에 뜸.
position-try-fallbacks: flip-block 을 주면 화면을 넘칠 때 자동으로 위/아래(또는 좌/우)를 뒤집어 안 잘리게 합니다.
핵심은 이거예요
위치를 px로 계산하는 게 아니라 어느 변에 맞출지를 선언하고, 넘치면 브라우저가 알아서 뒤집습니다. 그래서 측정/리렌더 코드가 0입니다.
놓치기 쉬운 것
flip 기준은 보통 뷰포트입니다. 데모에서 버튼을 아래로 옮기고 방향을 아래로 두면 뒤집히는 걸 볼 수 있어요.
브라우저 지원: Chrome 125+, Firefox, Safari 26+ 등. @supports not (anchor-name: --x) 로 폴백을 두세요.
hover 툴팁의 지연 표시 같은 타이밍 로직은 여전히 약간의 JS가 필요할 수 있습니다.
이런 곳에 써요
드롭다운 메뉴/셀렉트/컨텍스트 메뉴
툴팁/팝오버/온보딩 코치마크