Interactivity
변경될 것으로 예상되는 요소의 애니메이션을 최적화하기 위한 유틸리티.
will-change-scroll
, will-change-contents
, will-change-transform
을 사용해 곧 변경될 것으로 예상되는 엘리먼트를 최적화할 수 있습니다. 이렇게 하면 브라우저가 실제 애니메이션이 시작되기 전에 필요한 준비를 미리 할 수 있습니다.
<div class="overflow-auto will-change-scroll">
<!-- ... -->
</div>
이 유틸리티는 엘리먼트가 변경되기 직전에 적용하고, 변경이 끝난 후에는 will-change-auto
를 사용해 제거하는 것이 좋습니다.
will-change 속성은 알려진 성능 문제를 해결할 때 최후의 수단으로 사용하는 것이 좋습니다. 성능 문제를 예상해 너무 많이 사용하거나 남용하면 오히려 페이지 성능이 저하될 수 있으니 주의해야 합니다.
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>
더 자세히 알아보려면 반응형 디자인, 다크 모드, 그리고 다른 미디어 쿼리 수식어에 대한 문서를 확인하세요.
기본적으로 Tailwind는 네 가지 will-change
유틸리티를 제공합니다. tailwind.config.js
파일에서 theme.willChange
또는 theme.extend.willChange
를 수정하여 이 값을 커스터마이징할 수 있습니다.
module.exports = {
theme: {
extend: {
willChange: {
'left-top': 'left, top',
}
}
}
}
기본 테마를 커스터마이징하는 방법에 대해 더 알아보려면 테마 커스터마이징 문서를 참고하세요.
테마에 포함시키기 어려운 will-change
값을 일회성으로 사용해야 한다면, 대괄호를 사용해 임의의 값으로 속성을 즉석에서 생성할 수 있습니다.
<div class="will-change-[top,left]">
<!-- ... -->
</div>
임의 값 지원에 대해 더 알아보려면 임의 값 문서를 참고하세요.