CSS 动画问题

Issues with CSS animation

我正在设计一个具有“开幕式”动画的布局(左右两个 div,向屏幕中央移动)。但是在动画的最后出现了一些错误,“关闭效果”有点前后移动。

欢迎任何帮助 :D 我刚开始学习 html 和 CSS。 :)

HTML

<body>
    <div id="left"></div>
    <div id="right"></div>
</body>

CSS

* {
    margin: 0;
    padding: 0;
}

body {
    background: red;

}

#left {
    width: 50vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    animation-name: leftwing;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
    padding: 0px;
}

#right {
    width: 50vw;
    height: 100vh;
    background-color: yellow;
    position: absolute;
    top: 0;
    right: 0;
    animation-name: rightwing;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
    padding: 0px;
}

@keyframes rightwing {
    0% {right: -1000px; background-color: purple;}
    100% {right: 0; background-color: cyan;}
}

@keyframes leftwing {
    0% {left: -1000px; background-color: purple;}
    100% {left: 0; background-color: magenta;}
}

我通过在正文中添加 overflow: hidden 或在 #left#right 选择器中将 position: absolute 更改为 fixed 来解决这个问题

* {
    margin: 0;
    padding: 0;
}

body {
    background: red;
    overflow: hidden;
}

#left {
    width: 50vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    animation-name: leftwing;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
    padding: 0px;
}

#right {
    width: 50vw;
    height: 100vh;
    background-color: yellow;
    position: absolute;
    top: 0;
    right: 0;
    animation-name: rightwing;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
    padding: 0px;
}

@keyframes rightwing {
    0% {right: -1000px; background-color: purple;}
    100% {right: 0; background-color: cyan;}
}

@keyframes leftwing {
    0% {left: -1000px; background-color: purple;}
    100% {left: 0; background-color: magenta;}
}
<div id="left"></div>
<div id="right"></div>