<div class="walk bubble"></div>
<div class="run bubble"></div>
@import url("https://fonts.googleapis.com/css2?family=Exo:wght@600&display=swap");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
width: 100vw;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
gap: 40px;
font-family: "Exo", Arial, sans-serif;
background-color: #151522;
color: #fff;
place-content: center;
padding: 10px;
}
.bubble {
--size: 50;
--hue: 195;
--bubble-outline: hsl(var(--hue), 100%, 50%);
--bubble-spot: hsl(var(--hue), 100%, 75%);
--bubble-shade: hsl(var(--hue), 100%, 70%);
background: radial-gradient(100% 115% at 25% 25%, #fff, transparent 33%),
radial-gradient(15% 15% at 75% 75%, var(--bubble-spot), transparent),
radial-gradient(100% 100% at 50% 25%, transparent, var(--bubble-shade) 98%);
border: 1px solid var(--bubble-outline);
border-radius: 100%;
height: calc(var(--size) * 1px);
width: calc(var(--size) * 1px);
}
@keyframes breath {
from {
transform: scale(var(--scaleStart));
}
to {
transform: scale(var(--scaleEnd));
}
}
.walk {
--scaleStart: 0.3;
--scaleEnd: 1.7;
animation: breath 2s alternate infinite;
}
.run {
--scaleStart: 0.8;
--scaleEnd: 1.2;
animation: breath 0.5s alternate infinite;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.