CSS 키 프레임 애니메이션은 지정된 기간 동안 CSS 속성을 애니메이션하는 방법을 제공합니다. 애니메이션 시퀀스 내에서 특정 시점에서 일련의 스타일을 정의하여 작동합니다. 이 지점을 "키 프레임"이라고하며 각 키 프레임은 애니메이션의 총 기간 (예 : 0%, 25%, 50%, 75%, 100%) 내의 위치를 나타내는 백분율과 관련이 있습니다. @keyframes
규칙 내에서 이러한 키 프레임을 정의하여 각 키 프레임에 이름을 부여하고 애니메이션의 해당 시점에서 적용 해야하는 CSS 속성 및 값을 지정합니다.
그런 다음 애니메이션 자체는 animation
속성 속성 (또는 개별 특성 : animation-name
, animation-duration
animation-timing-function
, 애니메이션 animation-delay
, 애니메이션-부정 행위, 애니메이션 animation-direction
animation-iteration-count
animation-fill-mode
)을 사용하여 HTML 요소에 적용됩니다. animation-name
속성은 @keyframes
규칙의 이름을 참조합니다. 그런 다음 브라우저는 키 프레임에 정의 된 스타일 사이에서 매끄럽게 보간하여 애니메이션을 만듭니다. 예를 들어, left: 0;
left: 100px;
,이 요소는 지정된 애니메이션 기간 동안 0 픽셀의 위치에서 100 픽셀로 부드럽게 이동합니다. animation-timing-function
속성은 애니메이션의 간격을 제어합니다 (예 : ease
, linear
, ease-in-out
또는 사용자 정의 입방-베 지어 함수).
예, CSS 키 프레임은 놀랍도록 복잡한 애니메이션을 만들 수 있습니다. 모든 애니메이션 필요 (특히 대화식 또는 물리 기반 애니메이션)에 적합하지는 않지만 광범위한 효과를 처리 할 수 있습니다. 복잡성은 몇 가지 기술을 결합함으로써 발생합니다.
translate
, rotate
, scale
, skew
)는 특히 키 프레임과 결합 될 때 복잡한 시각 효과를 만드는 데 특히 강력합니다.animation
속기를 사용하면 애니메이션 속성을보다 쉽게 관리 할 수 있지만 개별 속성은 필요할 때 더 미세한 제어 기능을 제공합니다.강력하지만 CSS 키 프레임 애니메이션에는 몇 가지 제한 사항이 있습니다.
성능을위한 CSS 키 프레임 애니메이션 최적화에는 몇 가지 전략이 포함됩니다.
translate
, rotate
, scale
)을 사용하여 종종 하드웨어로 셀러링되어 더 부드러운 애니메이션으로 이어집니다. 리플 로우 또는 페인트 ( width
, height
, margin
, padding
)를 트리거하는 애니메이션 속성을 피하십시오.will-change
사용 (주의해서) : will-change
속성은 다가오는 변경 사항에 대해 브라우저에 암시하여 성능을 향상시킬 수 있습니다. 그러나 과도한 사용은 성능을 해칠 수 있으므로 신중하게 사용하면 프로파일 링이 명확한 성능 이점을 드러내는 경우에만 사용하십시오.ease
, linear
)은 일반적으로 복잡한 입방 베 지어 기능보다 빠릅니다. 절대적으로 필요한 경우에만 복잡한 기능을 사용하십시오.animation-delay
사용하여 초기로드 시간을 줄입니다.이러한 최적화 기술을 따르면 성능을 희생하지 않고 복잡하고 시각적으로 매력적인 CSS 키 프레임 애니메이션을 만들 수 있습니다. 성능 병목 현상을 식별하고 해결하기 위해 애니메이션을 프로필하고 테스트해야합니다.
위 내용은 CSS 키 프레임 애니메이션은 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!