2014-12-24 2 views
0

CSS3에서 다른 애니메이션으로 애니메이션을 트리거 할 수 있습니까? 아니면 다른 애니메이션이 끝난 직후에 하나의 애니메이션을 시작할 수 있습니까? 나는 그것이 자바 스크립트로 가능하다는 것을 알고 있지만 순수한 css3으로 얻을 수 있는지 알고 싶다.css3에서 애니메이션이 다른 애니메이션을 트리거 할 수 있습니까?

+1

세트 [애니메이션 지연 (https://developer.mozilla.org/en-US/docs/Web/CSS/animation-delay) animation –

+1

animationend 이벤트를 사용하십시오. –

+0

자바 스크립트가 포함되지 않고 애니메이션 지연이 시간을 기준으로합니다. – Ajith

답변

2

전환과 함께 transition-delay을 사용할 수 있습니다.

  1. 레드 1 초에 녹색으로 : 내 코드에서

    transition 스타일에서 변경 div됩니다.

  2. 100px에서 250px까지의 폭 (2s).
  3. 높이가 100px에서 150px까지 1 초입니다.

transition-delay 스타일의 원인 :

  1. 첫 번째 애니메이션이 즉시 (배경)이 발생합니다.
  2. 두 번째 애니메이션은 1s (너비) 이후에 발생합니다.
  3. 3 번째 (높이) 이후에 세 번째 애니메이션이 발생합니다.

최종 결과는 이전 애니메이션의 발 뒤꿈치에 따라 각 애니메이션이 이어지는 것입니다.

니핏

div { 
 
    transition: background 1s, width 2s, height 1s; 
 
    transition-delay: 0s, 1s, 3s; 
 
    background: red; 
 
    width: 100px; 
 
    height: 100px; 
 
    border: 1px solid black; 
 
} 
 

 
div:hover { 
 
    background: green; 
 
    width: 250px; 
 
    height: 150px; 
 
}
<div> 
 
</div>

+0

예. 작동합니다!하지만 시간에주의 깊게 코딩해야합니다. 하나의 애니메이션이 시작되는 기능이 있으면 훨씬 더 좋았을 것입니다. 자동으로 다른 하나의 끝과 함께. – Ajith

+1

저는 CSS3 애니메이션을 처음 접했기 때문에 간단한 해결책을 찾으면 업데이트를 게시 할 것입니다. –

관련 문제