Я читал несколько блогов о том, как добиться плавной CSS-анимации, например, здесь .
Я буквально пытаюсь добиться анимации в виде красного круга, как показано ниже:
Но анимация не такая плавная, как мне хочется.
Вот мой Jsfiddle
body,
html {
width: 100vw;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.circle {
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.circle .first,
.circle .second {
width: 2200px;
height: 2200px;
position: absolute;
}
.circle .first {
animation: scale 2s cubic-bezier(0.5, 0.01, 0, 0.08) infinite;
opacity: 0;
}
.circle .second {
animation: scale-second 1s cubic-bezier(0.5, 0.01, 0, 0.08) infinite;
animation-delay: 7s;
opacity: 0
}
@keyframes scale {
from {
transform: scale(0);
opacity: 1;
}
to {
transform: scale(1.5);
opacity: 1;
}
}
@keyframes scale-second {
from {
transform: scale(0);
opacity: 1;
}
to {
transform: scale(1.2);
opacity: 1;
}
}
<body>
<div class="circle">
<svg class="first" viewBox="0 0 100 100" fill="#ff948d">
<circle cx="50" cy="50" r="50"></circle>
</svg>
<svg class="second" viewBox="0 0 100 100" fill="white">
<circle cx="50" cy="50" r="50"></circle>
</svg>
</div>
</body>
Вы можете видеть, что анимация не плавная, когда вы делаете экран полноразмерным.