CSS Transition
Summary
transition-property, duration, timing-function, delay
- Chỉ những property có middle state mới có thể apply transition.
- Không nên apply transition for all property, vì có thể ảnh hưởng tới performance.
Transition
-
Thay đổi trạng thái init và trạng thái target của 1 phần tử.
-
transition-property
- Xác định property nào sẽ được transition, có thể accept nhiều properties 1 lúc.
- Các properties xác định sẽ transitions mượt hơn, từ từ thay đổi theo
transation-duration
, còn những properties không được chỉ định, sẽ thay đổi ngay lập tức.
-
transition-duration
- Khoảng thời gian mà 1 transition will take to complete.
-
transition-timing-function
- Hiệu ứng thay đổi
linear
: Speed thay đổi là constant, từ khi bắt đầu đến kết thúc.ease
: Ban đầu thay đổi chậm, sau đó tăng tốc ở giữa, rồi đi chậm lại tới khi kết thúc transition.ease-in
: Transition bắt đầu chậm, rồi tăng tốc đến khi kết thúcease-out
: Transition bắt đầu nhanh, rồi chậm dần đến khi kết thúcease-in-out
: Bắt đầu chậm, tăng tốc ở giữa, và slow đến khi kết thúc.steps()
: Bước nhảy. tham số là số lần nhảycubic-bezier()
- Hiệu ứng thay đổi
-
transition-delay
- Thời gian delay trước khi bắt đầu transition
-
Shorthand:
transition: transform 300ms ease-in-out 0s;
Các thuộc tính khá giống với animation
What can and can not
Thứ gì có “middle-state” thì có thể áp dụng “transition”. Vi dụ font-size
. Nhưng những thứ không có middle state như font-family
thì không áp dụng được, vì mình sẽ không biết middle state là gì.
- transform
- color
- shadow
- filter
Triggers
:hover, :focus, :focus-within, :target, :active