Создание эффекта набора текста с использованием CSS
23 июля 2015 | Опубликовано в css | 1 Комментарий »
Недавно мы обнаружили плагин jQuery, который позволяет легко создать эффект набора текста на веб-сайте. Этот плагин называется typed.js, у него открытый исходный код, и его можно скачать с Github. В этом уроке мы расскажем подробней об этом плагине, а также покажем, как создать эффект набора текста с помощью только анимаций CSS.
Установка этого плагина очень проста, все, что надо сделать, — подключить плагин в приложение и использовать следующий код:
<script src="typed.js"></script> <script> $(function(){ $(".element").typed({ strings: ["First sentence.", "Second sentence."], typeSpeed: 0 }); }); </script> ... <div class="element"></div>
Когда веб-страница загрузится, сначала начнет печататься первое предложение, а после него — второе. Можно задавать скорость печати, передавая продолжительность анимации в миллисекундах.
Мы создали пример, чтобы показать, как выглядит этот эффект.
Если Вам понадобится создать такой эффект, можете скачать проект typed.js с Github.
Использование анимации CSS
Плагин typed.js — легкий и интересный плагин jQuery, но это все же плагин jQuery, так что, чтобы им воспользоваться, его нужно подключить в приложение, что потребует больше ресурсов и увеличит количество запросов HTTP к странице. Это было бы не особо важно, если бы это был единственный способ создать такой эффект, но эффект набора текста можно создать, используя только CSS.
Анимация CSS позволяет создать временную функцию анимации, которая укажет анимации, как ей развиваться до конца. Одна из временных функций, steps() (шаги), позволяет задавать количество кадров, которые будет использовать анимация, это отключит привычную плавную анимацию и создаст более блочную, как раз то, что надо для набора текста.
Используя функцию steps(), можно создать анимацию, которая будет только увеличивать размер элемента от 0 до конца абзаца.
Для начала создадим абзац, которому хотим задать эффект набора текста:
<p class="css-typing">This is a paragraph that is being typed by CSS animation.</p>
С помощью кода CSS добавим необходимую анимацию, начнем с задания ширины параграфа, чтобы у анимации был предел расширения. После этого добавим свойство скрытие переполнения, чтобы когда анимация меняла размер абзаца на 0, текст становился невидимым. И, наконец, добавим тип анимации с временной функцией steps():
.css-typing { width: 30em; white-space:nowrap; overflow:hidden; -webkit-animation: type 5s steps(50, end); animation: type 5s steps(50, end); } @keyframes type{ from { width: 0; } } @-webkit-keyframes type{ from { width: 0; } }
Анимация будет увеличивать размер абзаца от 0 до 30em за 50 кадров, таким образом создавая эффект набора текста.
Посмотрите пример, чтобы увидеть, как это работает.
Демонстрация работы временной функции CSS steps
Автор урока Paul Underwood
Перевод — Дежурка
Смотрите также:
Комментарии
Похожие статьи
- Использование множественных фоновых изображений CSS: основы
- Создание элементов, расположенных ровно по центру, с высотой и шириной, заданными в процентах
- Использование плавной прокрутки и ее недостатки
- Использование тега span для разделения слов в ссылках в CSS
- Использование порядка расположения множественных фоновых изображений