> 웹 프론트엔드 > CSS 튜토리얼 > CSS3 애니메이션 완성을 정확하게 제어하고 최종 프레임 이후 요소를 제거하려면 어떻게 해야 합니까?

CSS3 애니메이션 완성을 정확하게 제어하고 최종 프레임 이후 요소를 제거하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-19 20:28:11
원래의
556명이 탐색했습니다.

How Can I Precisely Control CSS3 Animation Completion and Remove an Element After the Final Frame?

CSS3 애니메이션 완성 제어

웹 개발 영역에서 CSS3 애니메이션은 사용자 경험을 향상시키는 강력한 도구가 되었습니다. 게다가, 최종 상태를 정밀하게 제어해야 하는 애니메이션을 디자인할 때 마지막 프레임에서 중지하는 것이 어려울 수 있습니다.

이 기사에서는 여러 부분으로 구성된 CSS3 애니메이션이 클릭 시 재생되는 시나리오에 대해 설명합니다. 화면에서 div를 제거하기 위한 마지막 부분입니다. 불행하게도 애니메이션은 계속해서 원래 상태로 되돌아갑니다. 이 문제를 해결하기 위해 우리는 두 가지 해결책을 모색합니다:

1. 마지막 프레임에서 애니메이션 고정:

마지막 프레임에서 애니메이션을 고정하려면(100% 완료) CSS 속성 animation-fill-mode:forwards;을 사용합니다. . 이 지시어는 애니메이션이 종료된 후에도 최종 애니메이션 상태를 유지하도록 브라우저에 지시합니다.

2. 애니메이션 후 Div 제거:

또는 div를 완전히 제거하려면 애니메이션이 재생된 후 JavaScript를 사용하여 DOM에서 요소를 제거할 수 있습니다. 이는 다음 순서로 달성할 수 있습니다.

document.getElementById("myDiv").addEventListener("animationend", function() {
  this.parentNode.removeChild(this);
});
로그인 후 복사

애니메이션이 완료되면 "animationend" 이벤트가 트리거되어 div가 페이지에서 제거됩니다.

예:

@keyframes colorchange {
  0%   { transform: scale(1.0) rotate(0deg); }
  50%  { transform: rotate(340deg) translate(-300px,0px) }
  100% { transform: scale(0.5) rotate(5deg) translate(1140px,-137px); }
}

#myDiv {
  animation: colorchange 1s infinite;
  animation-fill-mode: forwards;
}
로그인 후 복사

이 예에서 ID가 "myDiv"인 div는 애니메이션을 거칩니다. 크기 조정 및 회전 변환으로 마무리됩니다. "animation-fill-mode:forwards;"를 설정하면 애니메이션 종료 후 최종 상태가 유지됩니다.

위 내용은 CSS3 애니메이션 완성을 정확하게 제어하고 최종 프레임 이후 요소를 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿