אנימציות ומעברים
Transition (מעברים)
מעבר חלק בין מצבים:
.button {
background-color: blue;
transition: background-color 0.3s ease;
}
.button:hover {
background-color: darkblue;
}
תכונות transition
.element {
transition: all 0.3s ease 0s;
/* property duration timing-function delay */
}
Timing Functions
| פונקציה | התנהגות |
|---|---|
linear |
קבוע |
ease |
ברירת מחדל |
ease-in |
מתחיל איטי |
ease-out |
מסיים איטי |
ease-in-out |
איטי בהתחלה ובסוף |
Transform
translate (הזזה)
transform: translate(50px, 100px);
transform: translateX(50px);
transform: translateY(100px);
rotate (סיבוב)
transform: rotate(45deg);
transform: rotate(-90deg);
scale (גודל)
transform: scale(1.5);
transform: scale(0.5);
skew (הטיה)
transform: skew(10deg, 5deg);
Animation
תחביר בסיסי
@keyframes slide-in {
from {
transform: translateX(-100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.element {
animation: slide-in 0.5s ease forwards;
}
עם אחוזים
@keyframes bounce {
0% { transform: translateY(0); }
50% { transform: translateY(-30px); }
100% { transform: translateY(0); }
}
.ball {
animation: bounce 1s ease infinite;
}
תכונות animation
| תכונה | ערכים |
|---|---|
animation-name |
שם keyframe |
animation-duration |
1s, 300ms |
animation-iteration-count |
infinite, 3 |
animation-direction |
normal, alternate |
animation-fill-mode |
forwards, backwards |
דוגמאות
Loading Spinner
@keyframes spin {
to { transform: rotate(360deg); }
}
.spinner {
width: 40px;
height: 40px;
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
animation: spin 1s linear infinite;
}
Hover Effect
.button {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.button:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
הבא: שיטות עבודה מומלצות ➡️
לחזרה ותרגול חי: הנושא הזה מופיע גם
במדריך האינטראקטיבי ל-CSS, עם עורך קוד שמראה את התוצאה מיד.
בדקו את עצמכם
נסו לענות לבד לפני שאתם פותחים את התשובה.
-
מה ההבדל בין transition ל-animation?
הצגת התשובה
תשובה ב. transition עובר בין שני מצבים, animation מגדיר רצף שלם.
-
אילו מאפיינים הכי זולים להנפשה?
הצגת התשובה
תשובה ד. transform ו-opacity לא גורמים לחישוב פריסה מחדש, ולכן הם חלקים.
-
מה לעשות עבור משתמשים שביקשו פחות תנועה?
הצגת התשובה
תשובה ד. אנימציות יכולות לגרום סחרחורת. כיבוד ההעדפה הוא חלק מנגישות.