我正在尝试使用Tweenmax进行模态动画制作。它目前正在设置动画,但是我遇到的问题是我希望它从屏幕顶部到中间进行动画处理,然后在此处停止。目前,它只是动画到中间。

HTML:

<button onclick="clickButton();">Testing</button>
<div id="container">
  <div class="background">
    <div class="modal">
      <h2>Testing Modal</h2>
      <p>Testing.</p>
    </div>
  </div>
</div>


JS:

clickButton = function() {
  TweenMax.to("#container", 0.3, {
    className: "+=active",
    ease: Power1.easeOut
  });
};


我尝试使用CSS来做到这一点:

#modal-container .modal-background {
  display: table-cell;
  background: rgba(0, 0, 0, 0.8);
  text-align: center;
  vertical-align: top;
}
#modal-container.active .modal-background {
    vertical-align: center;
}


Codepen

最佳答案

像这样更改您的transform

#container.active {
    transform: translateY(100%);
}


而您的#container位置topleft

#container {
    position: fixed;
    display: table;
    height: 100%;
    width: 100%;
    top: -100%;
    left: 0;
    z-index: 1;
}


它可能对您有帮助,这是您遇到的问题的代码
Codepen

10-04 22:06
查看更多