Tôi không nghĩ rằng điều này có thể đạt được chỉ bằng cách sử dụng hoạt ảnh CSS. Tôi giả định rằng các chuyển tiếp CSS không đáp ứng được trường hợp sử dụng của bạn, bởi vì (ví dụ) bạn muốn liên kết hai hoạt ảnh lại với nhau, sử dụng nhiều điểm dừng, lặp lại hoặc theo một cách nào đó khai thác các hoạt ảnh bổ sung sức mạnh cho bạn.
Tôi không tìm thấy bất kỳ cách nào để kích hoạt hoạt ảnh CSS cụ thể khi di chuột ra ngoài mà không sử dụng JavaScript để đính kèm các lớp "over" và "out". Mặc dù bạn có thể sử dụng khai báo CSS cơ sở để kích hoạt hoạt ảnh khi: hover kết thúc, hoạt ảnh đó sau đó sẽ chạy khi tải trang. Sử dụng các lớp "over" và "out", bạn có thể chia định nghĩa thành khai báo cơ sở (tải) và hai khai báo kích hoạt hoạt ảnh.
CSS cho giải pháp này sẽ là:
.class {
}
.class.out {
animation-name: out;
animation-duration:2s;
}
.class.over {
animation-name: in;
animation-duration:5s;
animation-iteration-count:infinite;
}
@keyframes in {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes out {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
Và sử dụng JavaScript (cú pháp jQuery) để liên kết các lớp với các sự kiện:
$(".class").hover(
function () {
$(this).removeClass('out').addClass('over');
},
function () {
$(this).removeClass('over').addClass('out');
}
);