Transitions
Използвайки “transition”свойството на CSS можем
да преминем от едно свойство към друго гладко.
За целта трябват 2 неща
• CSS свойството върху което да добавим ефекта
• времето нужно за изпълняване на този ефект
Пример :
transition: width 2s;
2
3.
Transition-timing-function
Тази функциядефинира скороста на ефекта. Тя
може да има следните стойности :
• ease – бавен старт, бързо продължение, бавен край
(по-подразбиране)
• linear – еднаква скорост от начало до край
• ease-in – бавно начало
• ease-out – бавен край
• ease-in-out – бавно начало и край
3
4.
Transition Delay
Зада добавим забавяне в ефекта ни можем да
използваме функцията “transition-delay”.
Чрез нея можем да изберем време (в секунди) с
което да се забави желаният ефект.
Пример :
transition-delay: 1s;
В случея добавяме забавяне от 1 секунда към вече
зададеният ефект.
4
5.
Transition + Transformation
Възможно е в едно свойство да добавим както и
“transition” така и “transformation”.
Това може да се постигне като добавим нужната
стойност в дефиницията на “transition”
Пример :
transition: width 2s, height 2s, transform 2s;
5
6.
Кратък запис на“transition”
Краткият запис съдържа следните 4 опции :
transition-property: width;
transition-duration: 2s;
transition-timing-function: linear;
transition-delay: 1s;
Същите 4 опции могат да бъдат записани по този начин
transition: width 2s linear 1s;
6
7.
Анимации чрез CSS
За да направим една анимация чрез CSS трябва да
направим следните неща
1. В избрания елемент да зададем “animation-name:
someName” за да можем да го ползваме след
това.
2. Трябва да се зададе време на изпълняване на
дадената анимация с “animation-duration : 3s;”
3. Като вече имаме име използваме “@keyframes
someName” като селектор за да добавим
стойностите на анимацията.
7
8.
@keyframes
След катовече имаме избрана анимация в
“@keyframes” имаме избора да дефинираме
началото и края на анимацията с “from & to” или
чрез избрани проценти, примерно “0%, 25%, 50%,
75%, 100%”
• @keyframes someName {
0% {background-color: red;}
25% {background-color: yellow;}
50% {background-color: blue;}
100% {background-color: green;}
}
• @keyframes someName {
from {background-color: red;}
to {background-color: yellow;}
}
8
9.
Animation-delay and
iteration-count
Зада добавиме забавяне в дадена анимаця е
нужно да добавиме свойството :
animation-delay : 3s;
По същия начин за да дефинираме колко пъти ще
се повтори избрана анимация е нужно да добавим
свойството :
animation-iteration-count: 3;
Освен номер за брой можем също така да
използваме “infinite” за независимо продължаване
на анимацията.
9
10.
Animation-direction
За задаванена посока на избрана анимация се
използва :
animation-direction
Тук имаме две опци:
• reverse – обръща посоката на анимацията
• alternate – променя посоките през една
10
11.
Бързина на анимация
Както с “transition” така и тук имаме избор от
същите опции за времетраенето на анимацията.
Използвайки функцията “animation-timing-function”
със следните опции :
• ease – бавен старт, бързо продължение, бавен край
(по-подразбиране)
• linear – еднаква скорост от начало до край
• ease-in – бавно начало
• ease-out – бавен край
• ease-in-out – бавно начало и край
11
12.
Кратък запис на
анимацията
Краткият запис съдържа следните 6 опции :
animation-name: example;
animation-duration: 5s;
animation-timing-function: linear;
animation-delay: 2s;
аnimation-iteration-count: infinite;
animation-direction: alternate;
Същите 6 опции могат да бъдат записани по този
начин
animation: example 5s linear 2s infinite alternate;
12