Nói tóm lại, không (một số công việc xung quanh là có thể)
Dòng của bạn animation-count: infinte
hiện đang làm là điều này cho phần tử: animation: ani1 3s 0s infinite, ani2 3s 9s infinite;
. Vì vậy, kể từ khi hoạt hình đầu tiên tuyên bố có một số lần lặp của infinite
, thứ hai sẽ không bao giờ đạt được
Cách đơn giản nhất và thông thường nhất là nên sử dụng javascript và animationEnd
để làm như vậy (tôi sử dụng Craig Buckler của PrefixedEvent function nhưng nó không cần thiết)
var elem = document.querySelectorAll("div")[0],
pfx = ["webkit", "moz", "MS", "o", ""];
function PrefixedEvent(element, type, callback) {
for (var p = 0; p < pfx.length; p++) {
if (!pfx[p]) type = type.toLowerCase();
element.addEventListener(pfx[p]+type, callback, false);
}
}
PrefixedEvent(elem, "animationend", function() { switchAnims(elem) });
function switchAnims(element) {
if(element.style.animationName = "ani1") {
element.style.animationName = "ani2";
} else {
element.style.animationName = "ani1";
}
}
(webkit chỉ - tiền tố khác cần phải được bổ sung)
Nếu không cho một sửa chữa CSS tinh khiết vào lúc này bạn sẽ phải kết hợp chúng như một hình ảnh động. Đối với bạn rằng sẽ trông như thế
@keyframes aniBoth {
0%, 16.666%, 33.333% { background: green; }
8.333%, 24.999%, 41.666% { background: red; }
50% { background: green; }
50.001% { background:white; width: 100px; }
75%, 100% { width: 100px; }
62.5%, 87.5% { width: 150px; }
}
(webkit chỉ - tiền tố khác cần phải được bổ sung)
Nguồn
2013-12-16 22:34:17
Cú pháp sửa lỗi CSS tinh khiết là khó hiểu ngay từ cái nhìn đầu tiên, nhưng lại thanh lịch và gọn gàng hơn so với giải pháp của tôi. Thanh danh. – shshaw
Tôi đã muốn nó là CSS tinh khiết, nhưng vấn đề là 1) Tôi sẽ phải tính toán lại các tỷ lệ phần trăm, 2) chức năng thời gian. Tôi đoán tôi bị bỏ lại bằng javascript. – Qwerty