Кнопки CSS
Круглая пульсирующая кнопка
Похожа на callbackhunter. Иконка из UIKit 3.
HTML
<a href="#call" class="puls-button" data-uk-toggle>
<div class="call-btn">
<i uk-icon="icon: mail; ratio: 1.5;"></i>
<span>Написать<br>нам</span>
</div>
</a>
LESS
.puls-button {
background: @brand-color;
border-radius: 50%;
box-shadow: 0 8px 10px rgba(221, 45, 24,0.3);
cursor: pointer;
height: 68px;
text-align: center;
width: 68px;
position: fixed;
right: 8%;
bottom: 10%;
z-index: 999;
transition: .3s;
-webkit-animation: hoverWave linear 1s infinite;
animation: hoverWave linear 1s infinite;
.call-btn {
height: 68px;
width: 68px;
border-radius: 50%;
position: relative;
overflow: hidden;
span {
text-align: center;
color: @brand-color;
opacity: 0;
font-size: 0;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
line-height: 14px;
font-weight: bold;
transition: opacity .3s linear;
font-family: 'montserrat', Arial, Helvetica, sans-serif;
}
&:hover {
span {
opacity: 1;
font-size: 11px;
}
i {
display:none;
}
}
}
i {
color: #fff;
position: absolute;
left: 50%;
top: 50%;
margin-top: -15px;
margin-left: -15px;
transition: .3s;
transition: .5s ease-in-out;
animation: 1200ms ease 0s normal none 1 running shake;
animation-iteration-count: infinite;
-webkit-animation: 1200ms ease 0s normal none 1 running shake;
-webkit-animation-iteration-count: infinite;
}
&:hover {
z-index: 1;
background: #fff;
color: transparent;
transition: .3s;
i {
color: #38a3fd;
font-size: 40px;
transition: .3s;
}
}
}
@-webkit-keyframes hoverWave {
0% {
box-shadow: 0 8px 10px rgba(221, 45, 24,0.3),0 0 0 0 rgba(221, 45, 24,0.2),0 0 0 0 rgba(221, 45, 24,0.2)
}
40% {
box-shadow:0 8px 10px rgba(221, 45, 24,0.3),0 0 0 15px rgba(221, 45, 24,0.2),0 0 0 0 rgba(221, 45, 24,0.2)
}
80% {
box-shadow:0 8px 10px rgba(221, 45, 24,0.3),0 0 0 30px rgba(221, 45, 24,0),0 0 0 26.7px rgba(221, 45, 24,0.067)
}
100% {
box-shadow:0 8px 10px rgba(221, 45, 24,0.3),0 0 0 30px rgba(221, 45, 24,0),0 0 0 40px rgba(221, 45, 24,0.0)
}
}
@keyframes hoverWave {
0% {
box-shadow:0 8px 10px rgba(221, 45, 24,0.3),0 0 0 0 rgba(221, 45, 24,0.2),0 0 0 0 rgba(221, 45, 24,0.2)
}
40% {
box-shadow:0 8px 10px rgba(221, 45, 24,0.3),0 0 0 15px rgba(221, 45, 24,0.2),0 0 0 0 rgba(221, 45, 24,0.2)
}
80% {
box-shadow:0 8px 10px rgba(221, 45, 24,0.3),0 0 0 30px rgba(221, 45, 24,0),0 0 0 26.7px rgba(221, 45, 24,0.067)
}
100% {
box-shadow:0 8px 10px rgba(221, 45, 24,0.3),0 0 0 30px rgba(221, 45, 24,0),0 0 0 40px rgba(221, 45, 24,0.0)
}
}
@-webkit-keyframes shake {
0% {
transform: rotateZ(0deg);
-ms-transform: rotateZ(0deg);
-webkit-transform: rotateZ(0deg);
}
10% {
transform: rotateZ(-30deg);
-ms-transform: rotateZ(-30deg);
-webkit-transform: rotateZ(-30deg);
}
20% {
transform: rotateZ(15deg);
-ms-transform: rotateZ(15deg);
-webkit-transform: rotateZ(15deg);
}
30% {
transform: rotateZ(-10deg);
-ms-transform: rotateZ(-10deg);
-webkit-transform: rotateZ(-10deg);
}
40% {
transform: rotateZ(7.5deg);
-ms-transform: rotateZ(7.5deg);
-webkit-transform: rotateZ(7.5deg);
}
50% {
transform: rotateZ(-6deg);
-ms-transform: rotateZ(-6deg);
-webkit-transform: rotateZ(-6deg);
}
60% {
transform: rotateZ(5deg);
-ms-transform: rotateZ(5deg);
-webkit-transform: rotateZ(5deg);
}
70% {
transform: rotateZ(-4.28571deg);
-ms-transform: rotateZ(-4.28571deg);
-webkit-transform: rotateZ(-4.28571deg);
}
80% {
transform: rotateZ(3.75deg);
-ms-transform: rotateZ(3.75deg);
-webkit-transform: rotateZ(3.75deg);
}
90% {
transform: rotateZ(-3.33333deg);
-ms-transform: rotateZ(-3.33333deg);
-webkit-transform: rotateZ(-3.33333deg);
}
100% {
transform: rotateZ(0deg);
-ms-transform: rotateZ(0deg);
-webkit-transform: rotateZ(0deg);
}
}
@keyframes shake {
0% {
transform: rotateZ(0deg);
-ms-transform: rotateZ(0deg);
-webkit-transform: rotateZ(0deg);
}
10% {
transform: rotateZ(-30deg);
-ms-transform: rotateZ(-30deg);
-webkit-transform: rotateZ(-30deg);
}
20% {
transform: rotateZ(15deg);
-ms-transform: rotateZ(15deg);
-webkit-transform: rotateZ(15deg);
}
30% {
transform: rotateZ(-10deg);
-ms-transform: rotateZ(-10deg);
-webkit-transform: rotateZ(-10deg);
}
40% {
transform: rotateZ(7.5deg);
-ms-transform: rotateZ(7.5deg);
-webkit-transform: rotateZ(7.5deg);
}
50% {
transform: rotateZ(-6deg);
-ms-transform: rotateZ(-6deg);
-webkit-transform: rotateZ(-6deg);
}
60% {
transform: rotateZ(5deg);
-ms-transform: rotateZ(5deg);
-webkit-transform: rotateZ(5deg);
}
70% {
transform: rotateZ(-4.28571deg);
-ms-transform: rotateZ(-4.28571deg);
-webkit-transform: rotateZ(-4.28571deg);
}
80% {
transform: rotateZ(3.75deg);
-ms-transform: rotateZ(3.75deg);
-webkit-transform: rotateZ(3.75deg);
}
90% {
transform: rotateZ(-3.33333deg);
-ms-transform: rotateZ(-3.33333deg);
-webkit-transform: rotateZ(-3.33333deg);
}
100% {
transform: rotateZ(0deg);
-ms-transform: rotateZ(0deg);
-webkit-transform: rotateZ(0deg);
}
}
Ссылки и благодарности
Немного изменена, но источник: wordsmall.ru