-
[vue3] 등장/퇴장 애니메이션 <transition>Frontend 2024. 11. 10. 16:10
CSS로 애니메이션 주려면
1. 시작전 class명
2. 애니메이션 끝난 후 class명
3. 그리고 원할 때 2번 class명 부착
<div class="start end"></div>
class명 오브젝트 형태로 넣을 수 있다
<transition name="fade" class="start" :class="{ end : isOpen }">
vue의 <transition> 태그 활용
<transition name="fade" class="start" :class="{ end : isOpen }"> <!-- 해석 ==> isOpen 가 true가되면 모달창 부착 --> <Modal @closeModal="isOpen = false" :rooms ="rooms" :selected="selected" :isOpen="isOpen"/> </transition>
클래스명을 조건부로 넣을려면 오브젝트 형식으로 작성
{ 클래스명 : 조건 }
.start { opacity: 0; transition: all 1s; } .end { opacity: 2; }
vue에서는 <transtion> 이용하면 위 에 CSS코드를 애니메이션 쉽게 줄 수 있음
- 등장 애니메이션
- 애니메이션 주고 싶은 요소를 <transition name="작명">으로 감싸기
- class명 3개 CSS 작성
.작명-enter-from {시작스타일} .작명-enter-active {transition} .작명-enter-to {끝날때 스타일}
ex
.fade-enter-from { opacity: 0; } /* 시작시 스타일 */ .fade-enter-active { transition: all 1s; } .fade-enter-to { opacity: 2; } /* 끝날을시 스타일 */
- 퇴장 애니메이션
.작명-leave-from {시작스타일} .작명-leave-active {transition} .작명-leave-to {끝날때 스타일}
'Frontend' 카테고리의 다른 글
[vue3] 자료의 사본 (0) 2024.11.10 [vue3] 데이터 감시 watch (0) 2024.11.10 [vue3] import / export (0) 2024.09.24 [vue3] 모달창 (0) 2024.09.24 [vue3] 이미지 태그 (0) 2024.09.24