Blog. Just Blog

Эффект "кругов на воде" на чистом CSS

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
Мне определенно нравятся анимированные эффекты, которые можно сделать вообще без скриптов, используя только чистый CSS. Сегодня это будет эффект расходящихся кругов на воде. С его помощью можно сделать акцент на каком-нибудь элементе страницы, визуально выделить информационный блок или другую область.

Начинаем с описания модели анимации и создания соответствующей таблицы стилей. Модель будет следующая. В контейнере заданного размера будут размещаться абсолютно позиционированные блоки с "кругами на воде" в нужном количестве и нужных цветов.
  1. <style type="text/css">
  2. .water {
  3.     positionrelative;
  4.     displayinline-block;
  5. }
  6.  
  7. .ripple1, .ripple2, .ripple3, .ripple4 {
  8.     positionabsolute;
  9.     border-radius20px;
  10.     left: -20px;
  11.     right: -20px;
  12.     top: -20px;
  13.     bottom: -20px;
  14.     opacity0;
  15.     animationwater 4s linear infinite;
  16. }
  17.  
  18. .ripple1 {
  19.     border2px solid #909090;
  20.     animation-delay0s;
  21. }
  22.  
  23. .ripple2 {
  24.     border2px solid #FF0000;
  25.     animation-delay1s;
  26. }
  27.  
  28. .ripple3 {
  29.     border2px solid #0000FF;
  30.     animation-delay2s;
  31. }
  32.  
  33. .ripple4 {
  34.     border2px solid #00FF00;
  35.     animation-delay3s;
  36. }
  37.  
  38. @keyframes water {
  39.     0% {
  40.         transformscale(0.6);
  41.         opacity0;
  42.     }
  43.     33% {
  44.         transformscale(0.8);
  45.         opacity0.8;
  46.     }
  47.     66% {
  48.         transformscale(1);
  49.         opacity1;
  50.     }
  51.     100% {
  52.         transformscale(1.2);
  53.         opacity0;
  54.     }
  55. }
  56. </style>
В кадрах анимации эти блоки будут постепенно увеличиваться в размере с уменьшением прозрачности. Каждый следующий "круг" стартует с небольшой задержкой. В рабочем варианте эффект настраивается за счет изменения длительности анимации, пропорции размеров и количества "кругов". Радиус закругления также можно увеличить, чтобы получились настоящие круги.

Верстка блока с анимацией будет следующей. Это упомянутый контейнер, его основное содержимое и блоки с "кругами".
  1. <div class="water">
  2.     <div class="ripple1"></div>
  3.     <div class="ripple2"></div>
  4.     <div class="ripple3"></div>
  5.     <div class="ripple4"></div>
  6.     <img src="rybov.jpg" style="border-radius: 20px;">
  7. </div>
Готовый пример анимации можно посмотреть на демонстрационной странице.

Поделиться ссылкой ВКонтакте
Просмотров: 446 | Комментариев: 0

Комментарии

Отзывы посетителей сайта о статье
Комментариeв нет

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

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2025
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0027 сек.) / Память: 4.5 Mb
Наверх