[javascript] Svelte에서 페이드 인/아웃 및 전환 효과를 적용하는 방법은 어떻게 되나요?
페이드 인/아웃 효과를 적용하기 위해서는 CSS의 트랜지션(transition) 속성을 활용할 수 있습니다. 먼저, Svelte 컴포넌트의 스타일 부분에 다음과 같은 CSS 코드를 추가합니다:
.fade {
opacity: 1;
transition: opacity 0.3s ease;
}
.fade-out {
opacity: 0;
}
이렇게 작성한 CSS 코드는 페이드 인/아웃 효과를 위해 필요한 스타일 클래스를 정의한 것입니다.
다음은 Svelte 컴포넌트의 HTML 부분에 위에서 정의한 스타일 클래스를 사용하여 페이드 인/아웃 효과를 적용하는 예입니다:
<script>
import { fade } from 'svelte/transition';
let visible = true;
</script>
<style>
.fade-transition {
transition: opacity 0.3s ease;
}
</style>
<button on:click={() => visible = !visible}>
{ visible ? 'Hide' : 'Show' }
</button>
{#if visible}
<div class="fade" transition:fade>
This element will fade in and out
</div>
{/if}
위의 예제에서는 svelte/transition
모듈에서 fade
트랜지션을 가져와서 컴포넌트 내에서 사용하고 있습니다.
이제, 버튼을 클릭할 때마다 visible
변수의 값이 토글되면서 해당 요소가 페이드 인/아웃 효과와 함께 나타나거나 사라집니다.
Svelte를 사용하면 매우 간결하고 직관적인 방식으로 페이드 인/아웃 및 다른 전환 효과를 구현할 수 있습니다. 이를 통해 애니메이션 효과를 부드럽게 추가할 수 있으며, 사용자 인터페이스에 동적인 요소를 제공할 수 있습니다.
참고: 이 예제는 Svelte 3.x 버전을 기준으로 작성되었습니다. Svelte 2.x 버전에서는 약간의 문법적인 차이가 있을 수 있습니다.