Quick reference

Class
Properties
will-change-autowill-change: auto;
will-change-scrollwill-change: scroll-position;
will-change-contentswill-change: contents;
will-change-transformwill-change: transform;

Basic usage

will-change로 최적화하기

will-change-scroll, will-change-contents, will-change-transform을 사용해 곧 변경될 것으로 예상되는 엘리먼트를 최적화할 수 있습니다. 이렇게 하면 브라우저가 실제 애니메이션이 시작되기 전에 필요한 준비를 미리 할 수 있습니다.

<div class="overflow-auto will-change-scroll">
  <!-- ... -->
</div>

이 유틸리티는 엘리먼트가 변경되기 직전에 적용하고, 변경이 끝난 후에는 will-change-auto를 사용해 제거하는 것이 좋습니다.

will-change 속성은 알려진 성능 문제를 해결할 때 최후의 수단으로 사용하는 것이 좋습니다. 성능 문제를 예상해 너무 많이 사용하거나 남용하면 오히려 페이지 성능이 저하될 수 있으니 주의해야 합니다.

Applying conditionally

호버, 포커스 및 기타 상태

Tailwind는 상태에 따라 유틸리티 클래스를 조건부로 적용할 수 있게 해줍니다. 예를 들어, hover:will-change-scroll 를 사용하면 will-change-scroll 유틸리티를 hover 상태에서만 적용할 수 있습니다.

<div class="will-change-auto hover:will-change-scroll">
  <!-- ... -->
</div>

사용 가능한 모든 상태 수정자 목록은 호버, 포커스, & 기타 상태 문서를 참고하세요.

브레이크포인트와 미디어 쿼리

여러분은 반응형 브레이크포인트, 다크 모드, prefers-reduced-motion 등과 같은 미디어 쿼리를 타겟팅하기 위해 변형 수식어를 사용할 수 있습니다. 예를 들어, md:will-change-scroll를 사용하면 중간 화면 크기 이상에서만 will-change-scroll 유틸리티를 적용할 수 있습니다.

<div class="will-change-auto md:will-change-scroll">
  <!-- ... -->
</div>

더 자세히 알아보려면 반응형 디자인, 다크 모드, 그리고 다른 미디어 쿼리 수식어에 대한 문서를 확인하세요.


Using custom values

테마 커스터마이징

기본적으로 Tailwind는 네 가지 will-change 유틸리티를 제공합니다. tailwind.config.js 파일에서 theme.willChange 또는 theme.extend.willChange를 수정하여 이 값을 커스터마이징할 수 있습니다.

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      willChange: {
        'left-top': 'left, top',
      }
    }
  }
}

기본 테마를 커스터마이징하는 방법에 대해 더 알아보려면 테마 커스터마이징 문서를 참고하세요.

임의 값

테마에 포함시키기 어려운 will-change 값을 일회성으로 사용해야 한다면, 대괄호를 사용해 임의의 값으로 속성을 즉석에서 생성할 수 있습니다.

<div class="will-change-[top,left]">
  <!-- ... -->
</div>

임의 값 지원에 대해 더 알아보려면 임의 값 문서를 참고하세요.