keyframes을 사용하면 요소를 DOM에 삽입하자마자 애니메이션을 적용 할 수 있습니다.CSS3 - DOM 제거시 전환
@-moz-keyframes fadeIn {
from {opacity:0;}
to {opacity:1;}
}
@-webkit-keyframes fadeIn {
from {opacity:0;}
to {opacity:1;}
}
@keyframes fadeIn {
from {opacity:0;}
to {opacity:1;}
}
#box {
-webkit-animation: fadeIn 500ms;
-moz-animation: fadeIn 500ms;
animation: fadeIn 500ms;
}
일부 유사한 기능은이 DOM에서 제거 직전 요소에 (CSS, 아니 자바 스크립트를 통해) 애니메이션을 적용 할 수 있나요 : 여기에 몇 가지 샘플 CSS이야? 아래는이 아이디어로 놀기 위해 만든 jsFiddle입니다. 해결책을 안다면 자유롭게 그것을 포크로 만들어라.
jsFiddle - http://jsfiddle.net/skoshy/dLdFZ/
이 꽤 영리하다,하지만 난 자바 스크립트 길을 갈거야 만약 내가 단지 ('전화 $ 수 '# fill '). fadeOut()'. 제가 정말로 찾고있는 것은 CSS만의 해결책입니다. 많은 포럼을 볼 때까지 엘리먼트의 변색이 가능하다는 것을 몰랐습니다. 그래서 누군가 엘리먼트를 어떻게 페이드 아웃시키는 지 알기를 바랍니다. – Steve
그러나'.fadeOut()'는 자바 스크립트를 사용하여 애니메이션을 수행합니다.이것은 실제로 애니메이션에 CSS를 사용합니다. 자바 스크립트를 사용하여 적시에 트리거합니다. 어쨌든 실제로 JavaScript를 사용하여 요소를 삽입/제거하기 때문에 "CSS 만"은 임의적입니다. CSS가 삭제되기 바로 전에 어떤 일이 발생하도록 방아쇠를 당기는 방법은 없습니다. 그 "click me"div를 링크로 변환했다면, 페이드 아웃을 트리거하기 위해'.hide : active + # fill'을 셀렉터로 사용할 수 있지만 실제로는'animationend' 이벤트가 필요합니다 요소가 사라지면 요소를 제거하십시오. – mercator
@ S.K .: 간단히 말해서, 아니오. CSS는 요소 추가 및 제거와 같은 DOM 조작과 관련이 없습니다. FadeIn 트릭은 엘리먼트가 처음 나타날 때마다 애니메이션이 발생하기 때문에 작동합니다. 엘리먼트가 FadeOut에 알기 위해서는 엘리먼트가 제거 될 것이라는 것을 알아야하며 이는 자바에서만 가능합니다. 그리고 메르카토르가 말했듯이 이미 요소를 제거하기 위해 자바 스크립트를 사용하고 있기 때문에 "CSS 전용"요구 사항은 임의적입니다. – joequincy