<body> docked 클래스가 맨 위로 스크롤해도 제거되지 않나요?

안녕하세요.
스크롤을 시작하면 <body>에 docked 클래스가 추가됩니다.
하지만 상단으로 다시 스크롤하면 docked 클래스가 그대로 남아 있습니다.

이게 원래 의도된 동작인가요 :thinking:? 스티키가 될 때 헤더를 다르게 표시하고 싶은데, 이 문제로 인해 현재 그렇게 하지 못하고 있습니다.

아마 @awesomerobot이 알까요?

제가 기억하는 바로는 docked 클래스는 헤더에 추가되는 콘텐츠(테마의 Header 섹션)를 위한 것입니다. Header에 텍스트 한 줄을 추가하면 해당 클래스가 예상대로 표시/숨김 되는 것을 확인할 수 있습니다.

따라서 사용자 정의 헤더 콘텐츠가 없는 한, 헤더는 스크롤 시에 고정(docked)되고 그 상태로 유지됩니다.

오래전(4년 이상 전으로 기억합니다)에 페이지 상단에서 헤더의 고정을 해제한 적이 있었지만… 그 변경이 회귀(regression)되었고 오랫동안 발견되지 않았다가, 결국 그 회귀를 그대로 채택하게 되었습니다.

현재 동작을 개선할 수 있을 것입니다. 현재 동작은 처음 스크롤할 때(확인하려면 강제 새로고침이 필요합니다) 약간의 초기 “팝” 현상을 일으키기 때문입니다… 하지만 기존에 배포되어 있는 헤더 사용자 정의 설정(그 수가 매우 많습니다!)을 깨뜨리지 않도록 매우 신중해야 합니다. IE11 지원을 종료할 때까지 조금 더 기다린 후, fixed 대신 position: sticky;를 사용하는 것과 같은 더 큰 개선 사항들을 함께 다루는 것이 합리적일 수 있습니다.

답변이 이 내용도 포함하고 있는지 확실하지는 않지만, 앞으로 헤더가 스티키가 될 때 특정 클래스를 사용할 수 있다면 좋겠습니다. 요즘 많은 사이트가 크고 높은 헤더를 사용하는데, 저는 여러 번 Discourse 포럼에 그런 헤더를 적용하도록 커스터마이징해 달라는 요청을 받았습니다. 하지만 헤더가 높으면 스크롤 시 크기를 조정해야 하므로, 기존에 그런 용도로 사용할 수 있는 클래스가 있다면 완벽할 것입니다.

아 네, 죄송합니다. 명확하게 표현하지 못했네요. 정말 도움이 될 것 같아서 추가해야 한다고 생각합니다!