애니메이션 공부하면서 알게된 내용 정리
웹 브라우저는 위의 이미지와 같은 로딩, 렌더링 순서를 거친다.
이 중 Layout, Paint, Composite 단계에 주목하자
3. Layout
브라우저에서 엘리먼트의 도형, 위치를 생성한다.
대표적인 속성값으로 width, height, margin, padding, left,top,rigth,bottom 등이 있다
4. Paint
각 엘리멘트의 픽셀을 채운다.
box-shadow, border-radius, color, background-color 등이 있다.
5. Composite
화면에 모든 레이어를 그리기 시작한다.
transform, opacity 가 있다.
여기서 만약 width, height 등의 값 (Layout 에 해당하는 속성 값)을 애니메이션으로 변경하게 된다면
Layout -> Paint -> Composite 단계를 다시 거쳐야한다.
이것을 Reflow 라고 한다
그럼 background-color 등을 변경하하면
Paint -> Composite 를 걸치는데
이것을 Repaint 라고 한다
즉 애니메이션을 줄거면 최대한 Composite 단계에서 하는게 성능상으로 좋다.
참고
'Frontend > CSS' 카테고리의 다른 글
[CSS] html a 태그 하이퍼링크 색깔 바꾸기 (21) | 2020.04.13 |
---|---|
[CSS] HTML Video Controls 버튼, 아이콘 숨기기 (15) | 2020.03.31 |