для карточки обратной связи
by Denis Tverdokhlebov
HTML
<head>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
</head>
<div class="main-wrapper">
<div class="button">
<i class="material-icons">add</i>
</div>
<div class="main-wrapper-inside">
<img src="https://image.ibb.co/eCLkRJ/profile_200.png">
</div>
<div class="button-wrapper first">
<div class="button-inside first">
<i class="material-icons">chat</i>
</div>
</div>
<div class="button-wrapper second">
<div class="button-inside second">
<i class="material-icons">phone</i>
</div>
</div>
<div class="button-wrapper third">
<div class="button-inside third">
<i class="material-icons">videocam</i>
</div>
</div>
</div>
CSS
* {
box-sizing: border-box;
user-select: none;
}
html {
height: 100%;
}
body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
height: 100%;
padding: 0;
margin: 0;
background-color: rgba(225, 225, 225, 0.67);
}
.material-icons {
color: #fff;
font-size: 34px;
}
.button-inside .material-icons {
font-size: 16px;
}
.main-wrapper {
width: 200px;
height: 200px;
position: relative;
border-radius: 50%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}
.main-wrapper-inside {
width: 200px;
height: 200px;
position: relative;
}
.button {
border-radius: 50%;
width: 58px;
height: 58px;
background-color: #F59F00;
position: absolute;
bottom: 0;
right: 0;
z-index: 6;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
cursor: pointer;
-webkit-transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
box-shadow: -1px 2px 12px rgba(0, 0, 0, 0.4);
will-change: transform;
}
.button .material-icons {
-webkit-transition: transform 200ms cubic-bezier(0.19, 1, 0.22, 1);
transition: transform 200ms cubic-bezier(0.19, 1, 0.22, 1);
will-change:...
JavaScript
var btn = document.querySelector('.button');
var buttonWrapper = document.querySelectorAll('.button-wrapper');
btn.addEventListener('click', function(){
if(btn.classList.contains('animation')) {
btn.classList.remove('animation');
} else {
btn.classList.add('animation');
}
for (i = 0; i < buttonWrapper.length; i++ ) {
if(buttonWrapper[i].classList.contains('animation')){
buttonWrapper[i].classList.remove('animation');
} else {
buttonWrapper[i].classList.add('animation');
}
}
});