搞清楚动画弹起收起的原理。以及初始化的状态如何设置
初始化的状态:
元素一开始是在一个什么位置(也就是说动画执行完了之后 是个啥状态)。设置了动画之后 也就是动画执行完了之后 页面会到一个什么状态 这个要搞清楚。
动画只是几秒钟的一个展示的方式。但是动画结束完了之后,该展示什么还应该是展示什么 。
如何定义动画的关键帧:
先确定好 元素的初始位置或者初始化的状态之后呢 ,定义关键帧的方式就是 以元素的初始位置为基准,去定义。
比如你想元素从页面底部弹起的动画
那么初始状态就是 : 元素展示在了页面上 并且bottom为0 。
关键帧应该定义:
0% transform: translate3d(0,100%,0) 以元素初始位置为基准,向下移动100%
100% transform: none 执行到了页面初始化位置 动画就结束了。
上面是 弹起的动画制定方式,那弹起后 点击空白区域 收起弹窗的动画 怎么定义呢 ?
我们首先需要定一个变量 isClose 来判断 。 根据isClose去往元素上加类名。
类名加好了 如何定义css呢 ?
初始化状态: 元素展示在了页面看不见的下方 ,top: 100%
定义关键帧:
0% transform: translate(0, -100%, 0) 以元素初始位置为基准,向上移动100%
100% transform: none 回到初始位置。
如果还想要背景颜色的淡入淡出。也可以专门写一个dom为 fixed 100vh 100vw top0 left0 的专门处理背景颜色的dom(覆盖全屏)。不要把处理背景颜色的逻辑放到container上面去。这样会比较难处理。