이 튜토리얼은 HTML, CSS 및 JavaScript를 사용하여 매끄럽고 성능 및 관리 가능한 프레임 별 애니메이션을 제작하기위한 다양한 방법을 탐색합니다. 우리는 깜박 거리는 눈 애니메이션을 구축하여 브라우저와 장치에서 최적의 결과를 달성하기 위해 접근 방식을 점차적으로 정제합니다. 주요 개념 :
CSS와 JavaScript를 사용하는 프레임 별 애니메이션 기술은 각각 트레이드 오프가있는 다양한 접근 방식을 제공합니다.
SVG의 확장 성과 반응성은 특히 복잡하거나 대화식 애니메이션의 경우 GIF보다 우수합니다.
프레임 별 애니메이션 란 무엇입니까?
Adobe에 의해 정의 된 프레임 별 애니메이션은 모든 프레임의 무대 내용을 변경하는 것과 관련이 있습니다. 각 프레임이 독특한 복잡한 애니메이션에 이상적입니다. 본질적으로 일련의 이미지는 움직임의 환상을 만듭니다. 이 튜토리얼은 확장 성을 위해 SVG 이미지를 사용합니다. PNG, JPEG 및 GIF와 같은 대안이 나중에 논의됩니다. jQuery를 사용하고 AutoPrefixer가 구성되었다고 가정합니다 방법 :
translate3d
이미지 불투명도 변경 : 이 접근법은 소스 대신 이미지 불투명도를 변경하여 페인트를 피합니다. 모든 이미지는 사전로드되어 성능이 향상되지만 여전히 여러 이미지로드가 필요합니다. 는 여전히 여러 이미지로드가 필요하므로 초기 페이지로드에 영향을 줄 수 있습니다.
스프라이트 위치 변경 : 이것은 모든 애니메이션 프레임을 포함하는 단일 이미지 인 CSS 스프라이트 시트를 사용합니다. CSS 애니메이션은 애니메이션을 생성하기 위해를 변경합니다
인라인 svg : 외부 파일을 사용하는 대신 SVG를 인화하는 것은 초기 페이지로드 시간, 특히 재 방문 확률이 낮은 페이지에서는 초기 페이지로드 시간을 개선 할 수 있습니다.
성능 비교 : 성능 테스트 (예 : JSPERF 사용)는 스프라이트 변환 방법 (메소드 4)이 일반적으로 최상의 렌더링 성능을 제공 함을 보여줍니다.
transform: translateX
대안 :
background-position
gif : translateX
확장 성이 중요하지 않다면 적합하지만 애니메이션 흐름에 대한 제어가 부족하고 클 수 있습니다.
transform: translate3d(0, 0, 0)
캔버스 :
위 내용은 CSS 및 JavaScript를 사용한 프레임에 의한 프레임의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!