Lab 06: CSS Animations
Overview
Step 1: @keyframes
/* Basic keyframe definition */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
/* With percentage steps */
@keyframes slideAndFade {
0% { opacity: 0; transform: translateY(-20px); }
60% { opacity: 1; transform: translateY(4px); }
100% { opacity: 1; transform: translateY(0); }
}
/* Pulse animation */
@keyframes pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.05); }
}
/* Shimmer loading effect */
@keyframes shimmer {
0% { background-position: -1000px 0; }
100% { background-position: 1000px 0; }
}
/* Typing cursor */
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
/* Rotation */
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Bounce */
@keyframes bounce {
0%, 80%, 100% { transform: translateY(0); }
40% { transform: translateY(-24px); }
60% { transform: translateY(-12px); }
}Step 2: Animation Shorthand — 8 Sub-Properties
Step 3: Transitions vs Animations
Scenario
Use
Step 4: will-change
Step 5: CSS Motion Path (offset-path)
offset-path)Step 6: Cubic-Bezier Timing Functions
Step 7: prefers-reduced-motion
Step 8: Capstone — Timing Function Calculator
Summary
Property
Key Values
Purpose
Last updated
