08

การเคลื่อนไหว

โทเค็นระยะเวลา การผ่อนคลายแบบ Apple และสัญญาการลดการเคลื่อนไหว

ระยะเวลา

TokenValueUseAnchor
duration-fast200mshover color and transformbg:motion:duration-fast
duration-normal300mscard hover, FAQ answer collapsebg:motion:duration-normal
duration-slow600msscroll-reveal transitionsbg:motion:duration-slow
duration-colors150msquick color flipsbg:motion:duration-colors

เส้นโค้งผ่อนคลาย

ease-out
ease-out
bg:motion:ease-out
ease-apple
cubic-bezier(0.32, 0.72, 0, 1)
bg:motion:ease-apple

การยกการ์ด

card-lift-smtranslateY(-2px)bg:motion:card-lift-sm
card-lift-mdtranslateY(-4px)bg:motion:card-lift-md

ลดการเคลื่อนไหว

กฎตายตัว ทุกแอนิเมชันต้องมี override @media (prefers-reduced-motion: reduce) ที่ปิดหรือแทนที่ด้วยสถานะคงที่ การรีเซ็ตพื้นฐานใน base.css ได้ทำให้ transition เป็นกลางสำหรับผู้ใช้ลดการเคลื่อนไหวแล้ว แอนิเมชันแต่ละส่วนประกอบต้องลบ transform เพิ่มเติมเมื่อ hover
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}