- 행이 많은 테이블은 스크롤할수록 열의 의미를 잊기 쉬워져 데이터 읽기가 불편해짐
thead에 position: sticky;와 top: 0;만 추가하면 헤더 고정을 구현할 수 있음
sticky는 전 세계 기준 약 96% 브라우저 지원을 갖고 있어 실험적 기능에 가깝지 않음
- 300번째 항목처럼 아래쪽 행을 볼 때도 열 제목이 남아 있어 표 탐색 경험이 좋아짐
- 구현은 작지만 효과가 커서, 긴 테이블을 제공하는 웹페이지라면 기본 사용성 개선으로 적용할 만함
긴 테이블에서 헤더가 사라지는 문제
- 큰 데이터셋이나 수백 행짜리 테이블에서는 스크롤 후 테이블 헤더가 화면 밖으로 사라짐
- 300번째 항목까지 내려가면 각 열의 데이터가 무엇을 뜻하는지 다시 확인하기 어려울 수 있음
- 처음 보는 테이블일수록 열의 의미를 기억하며 읽어야 해 탐색 부담이 커짐
thead에 sticky 적용하기
- 해결 방법은
thead에 두 가지 CSS 속성을 추가하는 것임
position: sticky;
top: 0;
position: sticky와 top: 0을 함께 사용하면 스크롤 중에도 헤더를 화면 상단에 고정할 수 있음
sticky는 약 96% 전 세계 지원율을 갖고 있어 많은 브라우저에서 사용할 수 있음
- 실제 동작은 CodePen 예제에서 확인할 수 있음