motion-offset
. Điều này và tất cả các thuộc tính chuyển động- * liên quan khác, đang được đổi tên thành offset- * trong thông số kỹ thuật. Chúng tôi đang thay đổi tên ở đây trong niên giám. Nếu bạn muốn sử dụng nó ngay bây giờ, có lẽ tốt nhất là sử dụng cả hai cú pháp.
Các motion-offset
bất động sản trong CSS nói: bao xa dọc theo motion-path
are you? Đây là animatable tài sản gắn liền với các đường chuyển động.
.thing-that-moves ( /* "Old" syntax. Available in Blink browsers as of ~October 2015 */ motion-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); motion-offset: 0%; /* Currently spec'd syntax. Should be in stable Chrome as of ~December 2016 */ offset-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); offset-distance: 0%; animation: move 3s linear infinite; ) /* Animate the element along the path from 0% to 100% */ @keyframes move ( 100% ( motion-offset: 100%; /* Old */ offset-distance: 100%; /* New */ ) )
Trong ví dụ trên, chúng tôi đã đặt motion-offset
giá trị ban đầu tại 0%
, mặc dù cần lưu ý rằng số không là giá trị mặc định, ngay cả khi không được xác định rõ ràng (chúng tôi có thể đã bỏ qua).
Biến
Các offset-distance
bất động sản chấp nhận các giá trị sau:
length
percentage
Trong cả hai trường hợp, giá trị chỉ định độ dài khoảng cách từ điểm bắt đầu của đường dẫn (mặc định là 0px
hoặc 0%
) đến điểm cuối của đường dẫn.
Thí dụ
Trong ví dụ này, chúng ta có hai vòng tròn trong đó một vòng tròn nhỏ đi dọc theo đường của một vòng tròn lớn hơn.
Đây là tệp SVG mà chúng tôi đang sử dụng để vẽ các hình dạng:
Bây giờ, chúng ta có thể đặt .marker
lớp trong CSS của mình để tuân theo .track
tọa độ lớp:
/* The motion-offset is zero by default */ .marker ( offset-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); animation: move 3s linear infinite; ) @keyframes move ( /* Move the .marker from it's default value of 0% to 100% of the path's length */ 100% ( offset-distance: 100%; ) )
Xem Ví dụ đơn giản về Bút vẽ hoạt hình dọc theo một con đường của Geoff Graham (@geoffgraham) trên CodePen.
Tương tự, chúng ta có thể dừng offset-distance
giá trị ở mức 50% và hoạt ảnh sẽ giảm xuống nửa chừng của đường dẫn:
Xem Ví dụ đơn giản về Bút vẽ hoạt hình dọc theo một con đường của Geoff Graham (@geoffgraham) trên CodePen.
Hoặc, để kiểm soát tốc độ của hoạt ảnh, chúng ta có thể nhân offset-distance
giá trị lên 300% để tăng tốc độ. Tuy nhiên, nếu chúng tôi đã chỉ định khoảng thời gian hoạt ảnh chạy ở một giá trị lớn hơn giá trị mà phần tử cần để di chuyển theo đường, thì chuyển động sẽ dừng cho đến khi hoạt ảnh hoàn thành khoảng thời gian trước khi lặp lại:
Xem Ví dụ đơn giản về Bút vẽ hoạt hình dọc theo một con đường của Geoff Graham (@geoffgraham) trên CodePen.
Hỗ trợ trình duyệt
thuộc offset-distance
tính vẫn được coi là một tính năng thử nghiệm tại thời điểm viết bài này và không có tài liệu về hỗ trợ trình duyệt. Tuy nhiên, có tài liệu về motion-path
hỗ trợ và chúng tôi có thể sử dụng đó làm cơ sở cho thời điểm hiện tại.
Dữ liệu hỗ trợ trình duyệt này là từ Caniuse, có nhiều chi tiết hơn. Một con số cho biết rằng trình duyệt hỗ trợ tính năng ở phiên bản đó trở lên.
Máy tính để bàn
Trình duyệt Chrome | Firefox | I E | Cạnh | Safari |
---|---|---|---|---|
46 | 72 | Không | 79 | Không |
Di động / Máy tính bảng
Chrome dành cho Android | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | Không |
thông tin thêm
- Thông số mô-đun đường dẫn chuyển động cấp 1
- Ví dụ trên CodePen
- Vé WebKit # 139128
- Vé Mozilla số 1186329
- Yêu cầu tính năng của Microsoft Edge