官术网_书友最值得收藏!

A prettier animation

We will now make a more complex but better animation, with some 3D effects. In addition to the hand, we will animate the .wrapper element (for a 3D flip) and the .card elements. The cards will start being piled up and will progressively expand to their expected position in the hand. At the end, it will animate as if the player is picking up the cards from a table.

  1. Start by creating new transition CSS classes with the 'hand' name instead of 'fade':
      .hand-enter-active,
.hand-leave-active {
transition: opacity .5s;
}

.hand-enter,
.hand-leave-to {
opacity: 0;
}
  1. Change the transition name in the main template too:
      <transition name="hand">
<hand v-if="!activeOverlay" :cards="testHand" />
</transition>
  1. Let's animate the wrapper element. Use the CSS transform property to apply a 3D transformation to the element:
      .hand-enter-active .wrapper,
.hand-leave-active .wrapper {
transition: transform .8s cubic-bezier(.08,.74,.34,1);
transform-origin: bottom center;
}

.hand-enter .wrapper,
.hand-leave-to .wrapper {
transform: rotateX(90deg);
}

The right rotating axis is the horizontal one, which is x. This will animate the cards just as if they were being picked up by the player. Note that there is a cubic-bezier easing function defined to make the animation smoother.

  1. Finally, animate the cards themselves by setting a negative horizontal margin so that they will seem to be piled up:
      .hand-enter-active .card,
.hand-leave-active .card {
transition: margin .8s cubic-bezier(.08,.74,.34,1);
}

.hand-enter .card,
.hand-leave-to .card {
margin: 0 -100px;
}

Now, if you hide and show the hand with the browser console like we did before, it will have a nice animation.

主站蜘蛛池模板: 玉林市| 城口县| 卓资县| 本溪市| 博野县| 玉林市| 外汇| 孝昌县| 扎兰屯市| 安塞县| 洞头县| 海原县| 宿松县| 达孜县| 瑞昌市| 汕头市| 山丹县| 香港 | 邢台市| 冀州市| 隆安县| 松溪县| 郧西县| 武隆县| 漳浦县| 仙游县| 永丰县| 句容市| 吉林省| 辽宁省| 鸡东县| 凉山| 德格县| 雅安市| 平顶山市| 襄樊市| 双牌县| 永善县| 安阳市| 额敏县| 崇左市|