我有一个宽度已知但高度未知(高度:自动)的 div。
它需要在视图中进行动画处理,然后在浏览器中垂直和水平居中。它的父母是身体。
我正在使用 animate.css CSS 库来执行动画。
如果我使用 translate 使 div 居中,那么动画会向下和向右偏移 div,然后,当动画完成时,它会“捕捉”回屏幕的中心。
我猜这与翻译有些冲突?
任何想法将不胜感激。
如果您将图层设置为绝对位置并播放类似这样的翻译,您可以做到这一点
HTML
<div class="container-layer">
<div class="layer">
Lorem ipsum dolor sit amet
</div>
</div>
CSS
.container-layer {
position:relative;
height:100vh;
width:100vw;
display:block;
}
.layer{
-webkit-animation: animation 2s linear;
margin: 0;
max-width:90px;
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%)
}
@keyframes animation {
0% {
transform: translate(200%, 200%)
}
100% {
transform: translate(-50%, -50%)
}
}
https://jsfiddle.net/MAXXALANDER/rjmfbyg9/2/
您正在使用动画库,但我认为它的工作原理相同