CSS Transitions · Astro Tech Blog

Transitions

Transitions animate changes to CSS properties smoothly over time instead of instant jumps.

Demo: Transition Demo (hover me)
HTML
<button class="btn">Hover Me</button>
<div class="card-transition">Hover this card</div>
<div class="multi">Multiple properties</div>
CSS
.btn {
padding: 12px 24px;
background: #6366f1;
color: white;
border: none;
border-radius: 6px;
font-size: 1rem;
cursor: pointer;
transition: background 0.3s ease, transform 0.2s ease;
}
.btn:hover { background: #4f46e5; transform: translateY(-2px); }
.card-transition {
padding: 16px;
background: #eef2ff;
border: 2px solid #6366f1;
border-radius: 8px;
margin-top: 8px;
font-weight: bold;
transition: all 0.3s ease;
}
.card-transition:hover { background: #6366f1; color: white; padding: 20px; }
.multi {
padding: 12px;
background: #059669;
color: white;
border-radius: 6px;
margin-top: 8px;
font-weight: bold;
text-align: center;
transition: background 0.5s, border-radius 0.3s, transform 0.2s;
}
.multi:hover {
background: #047857;
border-radius: 20px;
transform: scale(1.05);
}
Live Output Window

Transition Properties

PropertyWhat It Does
transition-propertyWhich properties to animate
transition-durationHow long the animation takes
transition-timing-functionSpeed curve (ease, linear, ease-in-out, etc.)
transition-delayDelay before starting
transitionShorthand for all

Timing Functions

Demo: Timing Functions Comparison
HTML
<div class="demo linear">linear</div>
<div class="demo ease">ease</div>
<div class="demo ease-in">ease-in</div>
<div class="demo ease-out">ease-out</div>
CSS
.demo {
width: 150px;
padding: 8px 16px;
margin: 4px 0;
background: #6366f1;
color: white;
border-radius: 4px;
font-weight: bold;
cursor: pointer;
transition: width 1s;
}
.demo:hover { width: 100%; }
.linear { transition-timing-function: linear; }
.ease { transition-timing-function: ease; }
.ease-in { transition-timing-function: ease-in; }
.ease-out { transition-timing-function: ease-out; }
Live Output Window
/* Shorthand */
transition: property duration timing-function delay;
transition: background 0.3s ease 0.1s;