Лого SiteHere.ru

Красивая анимация текста на CSS3 — анимация текста css

Красивая анимация текста на CSS3

Дорогие читатели, прежде чем мы начнем к уроку, спешу сообщить вам что это 200-й урок на сайте по теме сайтостроения. А сейчас перейдем непосредственно к уроку. В этом уроке мы рассмотрим как создать анимацию текста используя только технологию CSS3. Но, сразу скажу, что эта анимация не будет работать в стареньких браузерах, которые не поддерживают данную технологию. В полной новости в можете видеть 3 примера, на которых представлены разные виды анимации.

Каждый пример можно посмотреть ниже:

Демо 1Демо 2Демо 3Скачать

Создаем анимацию текста на CSS



HTML

Разметка HTML будет следующей:

1
2
3
4
5
6
7
<ul class="text-animation">
    <li><h3>Текст 1</h3></li>
    <li><h3>Текст 2</h3></li>
    <li><h3>Текст 3</h3></li>
    <li><h3>Текст 4</h3></li>
    <li><h3>Текст 5</h3></li>
</ul>

Обычный неупорядоченный список, которых элементы списка будут поочередно появляться и исчезать.



CSS

У каждого примера есть свои стили, у которых есть некоторые отличия, т.к. анимация у всех разная.

Начнем со стилей к 1-му демо:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
.text-animation,
.text-animation:after {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 0;
}
.text-animation li{
    z-index: 1000;
    position: absolute;
    bottom: 295px;
    left: 0px;
    width: 100%;
    text-align: center;
    opacity: 0;
    -webkit-animation: textAnimation 20s linear infinite 0s;
    -moz-animation: textAnimation 20s linear infinite 0s;
    -o-animation: textAnimation 20s linear infinite 0s;
    -ms-animation: textAnimation 20s linear infinite 0s;
    animation: textAnimation 20s linear infinite 0s;
}
.text-animation li h3 {
    font-family: 'Open Sans Condensed', sans-serif;
    text-transform:uppercase;
    font-size: 240px;
    padding: 0;
    line-height: 200px;
    color:#390;
}
.text-animation li:nth-child(2){
    -webkit-animation-delay: 4s;
    -moz-animation-delay: 4s;
    -o-animation-delay: 4s;
    -ms-animation-delay: 4s;
    animation-delay: 4s;
}
.text-animation li:nth-child(3){
    -webkit-animation-delay: 8s;
    -moz-animation-delay: 8s;
    -o-animation-delay: 8s;
    -ms-animation-delay: 8s;
    animation-delay: 8s;
}
.text-animation li:nth-child(4) {
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}
.text-animation li:nth-child(5) {
    -webkit-animation-delay: 16s;
    -moz-animation-delay: 16s;
    -o-animation-delay: 16s;
    -ms-animation-delay: 16s;
    animation-delay: 16s;
}
.text-animation li:nth-child(6) {
    -webkit-animation-delay: 20s;
    -moz-animation-delay: 20s;
    -o-animation-delay: 20s;
    -ms-animation-delay: 20s;
    animation-delay: 20s;
}
 
/* Анимация текста */
@-webkit-keyframes textAnimation { 
    0% {
        opacity: 0;
        -webkit-transform: translateY(200px);
    }
    10% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }
    20% {
         opacity: 1;
        -webkit-transform: scale(1);
    }
    23% { 
        opacity: 0 
    }
    27% {
        opacity: 0;
        -webkit-transform: scale(10);
    }
    100% { 
        opacity: 0 
    }
}
@-moz-keyframes textAnimation { 
    0% {
        opacity: 0;
        -moz-transform: translateY(200px);
    }
    10% {
        opacity: 1;
        -moz-transform: translateY(0px);
    }
    20% {
        opacity: 1;
        -moz-transform: scale(1);
    }
    23% { 
        opacity: 0 
    }
    27% {
        opacity: 0;
        -moz-transform: scale(10);
    }
    100% { 
        opacity: 0 
    }
}
@-o-keyframes textAnimation { 
    0% {
        opacity: 0;
        -o-transform: translateY(200px);
    }
    10% {
        opacity: 1;
        -o-transform: translateY(0px);
    }
    20% {
        opacity: 1;
        -o-transform: scale(1);
    }
    23% { 
        opacity: 0 
    }
    27% {
        opacity: 0;
        -o-transform: scale(10);
    }
    100% { 
        opacity: 0 
    }
}
@-ms-keyframes textAnimation { 
    0% {
        opacity: 0;
        -ms-transform: translateY(200px);
    }
    10% {
        opacity: 1;
        -ms-transform: translateY(0px);
    }
    20% {
        opacity: 1;
        -ms-transform: scale(1);
    }
    23% { opacity: 0 }
    27% {
        opacity: 0;
        -webkit-transform: scale(10);
    }
    100% { opacity: 0 }
}
@keyframes textAnimation { 
    0% {
        opacity: 0;
        transform: translateY(200px);
    }
    10% {
        opacity: 1;
        transform: translateY(0px);
    }
    20% {
        opacity: 1;
        transform: scale(1);
    }
    23% { opacity: 0 }
    27% {
        opacity: 0;
        transform: scale(10);
    }
    100% { opacity: 0 }
}

Для второго демо используется следующий CSS код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
.text-animation,
.text-animation:after {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 0;
}
.text-animation li{
    z-index: 1000;
    position: absolute;
    bottom: 300px;
    left: 0px;
    width: 100%;
    text-align: center;
    opacity: 0;
    -webkit-animation: textAnimation 20s linear infinite 0s;
    -moz-animation: textAnimation 20s linear infinite 0s;
    -o-animation: textAnimation 20s linear infinite 0s;
    -ms-animation: textAnimation 20s linear infinite 0s;
    animation: textAnimation 20s linear infinite 0s;
}
.text-animation li h3 {
    font-family: 'Open Sans Condensed', sans-serif;
    text-transform:uppercase;
    font-size: 240px;
    padding: 0 30px;
    line-height: 120px;
    color:#F00;
}
.text-animation li:nth-child(2){
    -webkit-animation-delay: 4s;
    -moz-animation-delay: 4s;
    -o-animation-delay: 4s;
    -ms-animation-delay: 4s;
    animation-delay: 4s;
}
.text-animation li:nth-child(3){
    -webkit-animation-delay: 8s;
    -moz-animation-delay: 8s;
    -o-animation-delay: 8s;
    -ms-animation-delay: 8s;
    animation-delay: 8s;
}
.text-animation li:nth-child(4){
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}
.text-animation li:nth-child(5){
    -webkit-animation-delay: 16s;
    -moz-animation-delay: 16s;
    -o-animation-delay: 16s;
    -ms-animation-delay: 16s;
    animation-delay: 16s;
}
.text-animation li:nth-child(6){
    -webkit-animation-delay: 20s;
    -moz-animation-delay: 20s;
    -o-animation-delay: 20s;
    -ms-animation-delay: 20s;
    animation-delay: 20s;
}
@-webkit-keyframes textAnimation { 
    0% {
        opacity: 0;
        -webkit-transform: translateY(-200%);
    }
    10% {
        opacity: 1;
        -webkit-transform: translateY(0%);
    }
    20% {
        opacity: 1;
        -webkit-transform: translateY(0%);
    }
    23% {
        opacity: 0;
        -webkit-transform: translateY(100%);
    }
    26% { opacity: 0 }
    100% { opacity: 0 }
}
@-moz-keyframes textAnimation { 
    0% {
        opacity: 0;
        -moz-transform: translateY(-200%);
    }
    10% {
        opacity: 1;
        -moz-transform: translateY(0%);
    }
    20% {
        opacity: 1;
        -moz-transform: translateY(0%);
    }
    23% {
        opacity: 0;
        -moz-transform: translateY(100%);
    }
    26% { opacity: 0 }
    100% { opacity: 0 }
}
@-o-keyframes textAnimation { 
    0% {
        opacity: 0;
        -o-transform: translateY(-200%);
    }
    10% {
        opacity: 1;
        -o-transform: translateY(0%);
    }
    20% {
        opacity: 1;
        -o-transform: translateY(0%);
    }
    23% {
        opacity: 0;
        -o-transform: translateY(100%);
    }
    26% { opacity: 0 }
    100% { opacity: 0 }
}
@-ms-keyframes textAnimation { 
    0% {
        opacity: 0;
        -ms-transform: translateY(-200%);
    }
    10% {
        opacity: 1;
        -ms-transform: translateY(0%);
    }
    20% {
        opacity: 1;
        -ms-transform: translateY(0%);
    }
    23% {
        opacity: 0;
        -ms-transform: translateY(100%);
    }
    26% { opacity: 0 }
    100% { opacity: 0 }
}
@keyframes textAnimation { 
    0% {
        opacity: 0;
        transform: translateY(-200%);
    }
    10% {
        opacity: 1;
        transform: translateY(0%);
    }
    20% {
        opacity: 1;
        transform: translateY(0%);
    }
    23% {
        opacity: 0;
        transform: translateY(100%);
    }
    26% { opacity: 0 }
    100% { opacity: 0 }
}

И, наконец, стили для 3-го демо:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
.text-animation,
.text-animation:after {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 0;
}
.text-animation li{
    z-index: 1000;
    position: absolute;
    bottom: 300px;
    left: 0px;
    width: 100%;
    text-align: right;
    opacity: 0;
    -webkit-animation: textAnimation 20s linear infinite 0s;
    -moz-animation: textAnimation 20s linear infinite 0s;
    -o-animation: textAnimation 20s linear infinite 0s;
    -ms-animation: textAnimation 20s linear infinite 0s;
    animation: textAnimation 20s linear infinite 0s;
    list-style-type:none;
}
.text-animation li h3 {
    font-family: 'Open Sans Condensed', sans-serif;
    text-transform:uppercase;
    font-size: 240px;
    padding: 0 400px;
    line-height: 120px;
    color:#F90;
}
.text-animation li:nth-child(2){
    -webkit-animation-delay: 4s;
    -moz-animation-delay: 4s;
    -o-animation-delay: 4s;
    -ms-animation-delay: 4s;
    animation-delay: 4s;
}
.text-animation li:nth-child(3){
    -webkit-animation-delay: 8s;
    -moz-animation-delay: 8s;
    -o-animation-delay: 8s;
    -ms-animation-delay: 8s;
    animation-delay: 8s;
}
.text-animation li:nth-child(4){
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}
.text-animation li:nth-child(5){
    -webkit-animation-delay: 16s;
    -moz-animation-delay: 16s;
    -o-animation-delay: 16s;
    -ms-animation-delay: 16s;
    animation-delay: 16s;
}
.text-animation li:nth-child(6){
    -webkit-animation-delay: 20s;
    -moz-animation-delay: 20s;
    -o-animation-delay: 20s;
    -ms-animation-delay: 20s;
    animation-delay: 20s;
}
@-webkit-keyframes textAnimation { 
    0% {
        opacity: 0;
        -webkit-transform: translateX(200px);
    }
    8% {
        opacity: 1;
        -webkit-transform: translateX(0px);
    }
    17% {
        opacity: 1;
        -webkit-transform: translateX(0px);
    }
    19% {
        opacity: 0;
        -webkit-transform: translateX(-300px);
    }
    25% { opacity: 0 }
    100% { opacity: 0 }
}
@-moz-keyframes textAnimation { 
    0% {
        opacity: 0;
        -moz-transform: translateX(200px);
    }
    8% {
        opacity: 1;
        -moz-transform: translateX(0px);
    }
    17% {
        opacity: 1;
        -moz-transform: translateX(0px);
    }
    19% {
        opacity: 0;
        -moz-transform: translateX(-300px);
    }
    25% { opacity: 0 }
    100% { opacity: 0 }
}
@-o-keyframes textAnimation { 
    0% {
        opacity: 0;
        -o-transform: translateX(200px);
    }
    8% {
        opacity: 1;
        -o-transform: translateX(0px);
    }
    17% {
        opacity: 1;
        -o-transform: translateX(0px);
    }
    19% {
        opacity: 0;
         -o-transform: translateX(-300px);
    }
    25% { opacity: 0 }
    100% { opacity: 0 }
}
@-ms-keyframes textAnimation { 
    0% {
        opacity: 0;
        -ms-transform: translateX(200px);
    }
    8% {
        opacity: 1;
        -ms-transform: translateX(0px);
    }
    17% {
        opacity: 1;
        -ms-transform: translateX(0px);
    }
    19% {
        opacity: 0;
        -ms-transform: translateX(-300px);
    }
    25% { opacity: 0 }
    100% { opacity: 0 }
}
@keyframes textAnimation { 
    0% {
        opacity: 0;
        transform: translateX(200px);
    }
    8% {
        opacity: 1;
        transform: translateX(0px);
    }
    17% {
        opacity: 1;
        transform: translateX(0px);
    }
    19% {
        opacity: 0;
        transform: translateX(-300px);
    }
    25% { opacity: 0 }
    100% { opacity: 0 }
}


Вывод

Красивые эффекты на CSS3 с текстом, которые можно сделать без использования Javascript на сайте! Качайте, изучайте и применяйте у себя на сайте.

Также хочу сказать спасибо всем, кто постоянно читает мои статьи и изучает материалы, которые я здесь публикую 🙂 .


Успехов!

С Уважением, Юрий Немец

Источник: http://www.freshdesignweb.com/css3-text-animation-tutorial.html

3 комментария к записи
  • Саматакая

    Отличная фишка для привлечения внимания, идеально подойдёт для странице с рекламой продукции (Акции или Скидки). Поменяла цвет на красный использовала ДЕМО1 и получилась отлично продающаяся страница. Пока эта примочка ещё не намылила глаза клиентам, советую поставить Всем кто занимается продажами в Сети. Всем успехов и процветания!

     
  • Михаил

    Ужасная анимация. Есть много лучших готовых вариантов, один из них animate.css

     
  • Павлуха

    Старенький браузер — понятие относительное. Конкретики надобно.
    Но всё равно спасибо за науку.

     

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *