用户登录

找到 App 组件里的这个表情符号,随便换一个 emoji。 这个按钮可以再处理一下,给它绑定一个 class, 一个对象,要绑定的类的名字是 active,根据 isActive 这个根据的值来绑定这个类。

然后把组件里的 isActive 默认的值设置成 false 。 打开 card 这个样式表,设置一下当按钮上包含 active 这个类的时候按钮的样式。可以把 background 设置成黑色,然后再把文字的颜色设置成白色。

这样如果组件里的 isActive 的值是 true, 按钮元素上就会加上 active 这个类,它会把按钮的背景设置成黑色,文字设置成白色。

在这个卡片组件的外面,再添加一个 div,上面加上 status ,里面用一组 small 标签包装一行文字,isActive ,后面再绑定输出 isActive 这个数据的值。

打开 card 样式表,设计一下 status 这个类的样式,让文字居中,可以把 text-align 设置成 center 。 再用 margin 添加 24 像素的边距。

定义动画

下面再打开 app.css 这个样式表,在这个样式表里我们先定义一种动画,用 @keyframes,动画的名字叫 pulse, 然后在里面设计一下这种动画。

用 from 设计一下动画开始的状态,用一个 transform ,它的值用一下 scale3d,这个 scale3d 的值设置成 1,1,1 。

然后再添加一个 50%,动画进行到一半的时候,可以再用 transform,同样使用 scale3d,值设置成 1.5, 1.5, 1.5。

最后再用一个 to 设置一下动画的结束状态,用 transform,把 scale3d 的值重新设置成 1, 1, 1。

这个叫 pluse 的动画就是把元素逐渐放大 1.5 倍,再逐渐缩放到原始尺寸。

在上面可以定义一个类,名字叫 pulse, 这个类里面,先用 animation-name ,把要使用的动画名字告诉它,这里就是 pulse ,下面再用 animation-duration ,把动画的时长设置成 1 秒。 animation-iteration-count 设置成 infinite,这样动画会不停的重复播放。

回到 App 组件,找到这个表情符号,这里组它绑定一个 pluse 类,如果组件的 isActive 是 true 就绑定这个类。这样就会在这个元素上使用我们刚才定义的 pulse 动画了。

预览

在浏览器上再试一下,点一下这个按钮,会在 emoji 元素上添加一个 pluse 类,这个类里面用了 pulse 动画。现在你看到的就是这种动画的效果。

基于 Class 的动画《 Vue.js 前端应用 #7:过渡动画 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点