
Делается такая анимация блоков с помощью чистого CSS без использования каких либо скриптов. Уточню сразу, что крестик закрытия, я просто добавил вам на будущее. Чтобы окно закрывалось, появлялось с задержкой, в определенном месте и тд, то тут уже понадобится добавить немного скриптов, но это уже совсем другая история. В этой статье только внешний вид и анимация. На моем сайте много статей с скриптами для окон, блоков и тд, которые можно переделать под данные пузыри. ну или вы сами можете написать небольшой скрипт, чтоб будет все делать.
Для начала нужно добавить саму HTML разметку. Выглядит она довольно просто:
<div id="popup-container" class="anim_bubble">
<span class="close_bubble">Х</span>
<a href="#1" id="pop_bobble"></a>
<a href="#2" id="pop_bobble2" class="anim_bubble2"></a>
<a href="#3" id="pop_bobble3" class="anim_bubble3"></a>
</div>
По ней видно. что у нас есть основной контейнер, который и содержит в себе 3 ссылки и span, что является кнопкой закрытия. Первая ссылка с айди pop_bobble - это самый большой круг, а остальные две те что по меньше.
Дальше добавляем уже сами стили:
#popup-container {
width: 320px;
height: 320px;
margin: 0 auto;
position: fixed;
left: -1%;
z-index: 99;
bottom: -1%;
text-align: center;
}
#pop_bobble, #pop_bobble2, #pop_bobble3 {
margin: 0 auto;
border-radius: 100%;
box-shadow: 10px 15px 40px rgba(0, 0, 0, 0.1);
border: 10px solid #fff;
background:#6AB12F;
display:block;
}
#pop_bobble {
position: relative;
width: 320px;
height: 320px;
}
#pop_bobble2 {
width: 150px;
height: 150px;
padding: 0;
left: -25px;
z-index: 90;
bottom: 200px;
position: absolute;
}
#pop_bobble3 {
width: 160px;
height: 160px;
padding: 0;
left: 250px;
bottom: 25px;
z-index: -90;
position: absolute;
}
.close_bubble{
position: absolute;
float: right;
top: 5px;
right: 5px;
z-index: 100;
width: 35px;
height: 35px;
font-size: 25px;
line-height:35px;
text-align: center;
background:#f30;
cursor: pointer;
color: #fff;
border-radius: 100%;
}
#popup-container a.close:hover {
background: #6AB12F;
}
.anim_bubble{-webkit-transform-origin: 45% 55%;transform-origin: 45% 55%;-webkit-transform-style: preserve-3d;transform-style: preserve-3d;-webkit-animation: floating-horizontal 10s -1s infinite;animation: floating-horizontal 10s -1s infinite}
.anim_bubble2{-webkit-transform-origin: -60% -40%;transform-origin: -60% -40%;-webkit-transform-style: preserve-3d;transform-style: preserve-3d;-webkit-animation: floating-horizontal2 8s -1s infinite;animation: floating-horizontal2 8s -1s infinite}
.anim_bubble3{-webkit-transform-origin: -60% -40%;transform-origin: -60% -40%;-webkit-transform-style: preserve-3d;transform-style: preserve-3d;-webkit-animation: floating-horizontal3 9s -1s infinite;animation: floating-horizontal3 9s -1s infinite}
@keyframes floating-horizontal {
0%, 100% {-webkit-transform:translate(-5%, -5%);transform:translate(-5%, -5%)}
25% {-webkit-transform:translate(5%, 5%);transform:translate(5%, 5%)}
50% {-webkit-transform:translate(5%, -5%);transform:translate(5%, -5%)}
75% {-webkit-transform:translate(-5%, 5%);transform:translate(-5%, 5%)}
}
@keyframes floating-horizontal2 {
0%, 100% {-webkit-transform:translate(10%, 10%);transform:translate(10%, 10%)}
25% {-webkit-transform:translate(-25%, -25%);transform:translate(-25%, -25%)}
50% {-webkit-transform:translate(-10%, 15%);transform:translate(-10%, 15%)}
75% {-webkit-transform:translate(25%, -25%);transform:translate(25%, -25%)}}
@keyframes floating-horizontal3 {
0%, 100% {-webkit-transform:translate(-20%, 10%);transform:translate(-20%, 10%)}
20% {-webkit-transform:translate(15%, -20%);transform:translate(15%, -20%)}
40% {-webkit-transform:translate(20%, 10%);transform:translate(20%, 10%)}
80% {-webkit-transform:translate(-15%, 15%);transform:translate(-15%, 15%)}
}
Расписывать тут особо нечего. Стили для каждого элемента + анимация. Внедрение такого окошка с анимацией рассчитано на людей, которые знакомы с CSS. Потому как это просто заготовка, а то что будет в ней показываться, решать вам.
На этом все, спасибо за внимание. 🙂




