하루 기록

CLS(Cumulative Layout Shift) 본문

Today I Learned

CLS(Cumulative Layout Shift)

떼굴펜 2024. 6. 21. 16:11

정의

: 예상치 못한 레이아웃 이동을 일컫는 것으로, 이로 인한 나쁜 사용자 경험까지 포함하고 있다.

이미지 등을 로딩하는 시간 차이로 인해 특정 요소의 위치가 변하면서, 사용자가 원하지 않았던 이벤트가 발생한다.

예를 들면 쇼핑하러가기 버튼을 클릭하려고 했는데 갑자기 상단에 로고가 그려지면서 키워드 검색을 눌러진 것으로 인식한다던지 등이다.

 

해결책

  • 이미지, 비디오 요소에 항상 크기 속성을 포함하거나, Aspect Ratio Boxes 같은 방법으로 공간을 미리 확보하기
  • 사용자 상호작용에 대한 응답이 아닐 때는 컨텐츠를 삽입하지 않기
  • 레이아웃 변경을 트리거하는 속성 대신 transform 애니메이션을 사용하기

출처 : https://velog.io/@sunohvoiin/pl2u9xiz