[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 버전에서는 약간의 문법적인 차이가 있을 수 있습니다.