思路应该是一个从0%到100%的动画展开的效果,大概需要写0%,50%,100%三个样式。
弹窗的css代码大概是:position: fixedz-index: 2000left: 0top: 0这样弹窗的左上角原点在页面最左上角,如果要调整位置要用CSS变换特效(transform)的平移translate函数达到目的: translate(x, y)(长度值或者百分比):在水平方向、垂直方向平移元素。 translateX(value):水平方向平移。 translateY(value):垂直方向平移。 scale(x, y)、scaleX(value)、scaleY(value):在水平方向、垂直方向或者两个方向上缩放元素。 rotate()、rotateX()、rotateY()、rotateZ():rotate支持3D效果,可在x、y、z轴上旋转元素。 skew()、skewX()、skewY():在水平方向、垂直方向或者两个方向倾斜一定的角度。 另外弹窗展开的动画要用到css3的动画属性: animation-delay:设置动画开始前的延迟时间。 animation-direction:设置动画循环播放的时候是否方向播放,包含normal和alternate两个值。 animation-duration:设置动画播放持续的时间。 animation-interacion-count:设置动画的播放次数,可以为具体数据或者无限循环关键字infinite。 animation-name:指定动画名称。 animation-play-state:允许动画暂停和重新播放,包含running、paused。 animation-timing-function:指定如何计算中间动画值,主要思路是利用hover来进行功能实现,transition-duration:来实现过度动画;
css这样实现
html如下
.download-block{
width:90%
height:100px
background:#0b0e32
/*margin: 100px auto 0*/
margin:0 auto
position:absolute
left:0
right:0
transition-duration:2s
opacity:0.7
}
.download-block1{
background:transparent
height:100px
overflow:hidden
position:relative
left:0
top:-100px
right:0
padding-top:100px
transition-duration:2s
opacity:0.7
cursor:pointer
}
.download-block1:hover{
padding-top:0
transition-duration:2s
opacity:0.7
}