<div class="squeak"></div>
body {
margin:0;
height:100vh;
display:grid;
place-items:center;
background:lightblue;
}
.squeak {
width: 120px;
height: 180px;
background:
radial-gradient(at top left,#fff5,#0000) 0 0/100% 100%,
linear-gradient(#646466 0 0) 50% 0/5px 40%,
linear-gradient(#a8acad 40%,#0000 0) content-box,
linear-gradient(#646466 40%,#7b7f83 0);
border-radius: 50px;
box-sizing: border-box;
padding: 5px;
background-repeat: no-repeat;
position:relative;
animation:s 2s infinite;
}
.squeak:before {
content: "";
position: absolute;
background:
radial-gradient(at top left,#fff3,#0000) 0 0/100% 100%
#343138;
border: 3px solid #646466;
width: 10px;
height: 31px;
top: 10%;
left: calc(50% - 8px);
border-radius: 50px;
}
.squeak:after {
content: "";
position: absolute;
width: 14px;
height: 100vh;
bottom: 100%;
left: calc(50% - 7px);
background: linear-gradient(#464646 0 0) center/5px 100% no-repeat;
border-bottom: 5px solid #919797;
}
@keyframes s{
0%,100%{transform:translate(0,0)}
20%{transform:translate(20%,10%)}
40%{transform:translate(10%,30%)}
60%{transform:translate(-30%,-10%)}
80%{transform:translate(20%,20%)}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.