CSS3学习笔记(2)—左右跳动的红心
还在为无法表达内心澎湃的心情而着急吗?还在为制作跳动的心而烦恼吗?哈哈,今天我就把代码全部奉上,为你们追妹子添点贡献,下面来看最终的动态效果(事先说明一下:我用的截屏gif制作软件是绿色版的,所以gif动态图心的抖动效果会有点慢而且卡卡的,但是实际效果很棒,不信你可以粘贴代码看看呗)

下面把心的png图也贴出来,感兴趣的可以右键另存为试试.

其实上面的动画类似于我们小时候荡的秋千,也叫作“秋千动画”,一般用在想让用户点击这个图标的时候,不仅仅限制于表白用O(∩_∩)O,比如企业招聘时想让求职者点击投简历的图标进入另一个页面等。
书写这段程序的思路:
(1)先要定义一个动画,在10%,20%,30%.......100%时心形图的不同状态,当然时间段和状态都是看自己的需要设定
(2)调用动画,然后设置为无限死循环播放
一、先来看看HTML代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>心动时左右摇摆</title>
<link type="text/css" rel="stylesheet" href="css/animate.css" />
</head>
<body>
<img class="heart" src="img/heart.png" />
</body>
</html>
二、接着来看CSS样式(主要是CSS3)
/*定义一个名字叫heartAnimate的动画,实现心形图的放大以及旋转效果*/
@keyframes heartAnimate{
0%,100%{transform:scale(1) rotate(0);} /*0%,100%时保持图形的原大小且不旋转*/
10%,30%{transform: scale(0.9) rotate(3deg);} /*10%,30%时图形缩小成0.9倍,并且顺时针旋转3度*/
20%,40%,60%,80%{transform:scale(1.1) rotate(-3deg);} /*20%,40%,60%,80%时图形扩大成1.1倍,并且逆时针旋转3度*/
50%,70%{ transform:scale(1.1) rotate(3deg);} /*50%,70%时图形扩大成1.1倍,并且顺时针旋转3度*/
}
@-webkit-keyframes heartAnimate{
0%,100%{-webkit-transform: scale(1) rotate(0);}
10%,30%{-webkit-transform:scale(0.9) rotate(3deg);}
20%,40%,60%,80%{-webkit-transform: scale(1.1) rotate(-3deg);}
50%,70%{-webkit-transform: scale(1.1) rotate(3deg);}
}
@-moz-keyframes heartAnimate{
0%,100%{-moz-transform:scale(1) rotate(0);}
10%,30%{-moz-transform: scale(0.9) rotate(3deg);}
20%,40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg);}
50%,70%{ -moz-transform:scale(1.1) rotate(3deg);}
}
@-o-keyframes heartAnimate{
0%,100%{-o-transform:scale(1) rotate(0);}
10%,30%{-o-transform: scale(0.9) rotate(3deg);}
20%,40%,60%,80%{-o-transform:scale(1.1) rotate(-3deg);}
50%,70%{ -o-transform:scale(1.1) rotate(3deg);}
}
@-ms-keyframes heartAnimate{
0%,100%{-ms-transform:scale(1) rotate(0);}
10%,30%{-ms-transform: scale(0.9) rotate(3deg);}
20%,40%,60%,80%{-ms-transform:scale(1.1) rotate(-3deg);}
50%,70%{ -ms-transform:scale(1.1) rotate(3deg);}
} .heart{
-webkit-animation: heartAnimate 1s ease infinite; /*调用名称为heartAnimate的动画,全程1s,速度曲线是ease,无限循环播放*/
-moz-animation: heartAnimate 1s ease infinite;
-o-animation: heartAnimate 1s ease infinite;
-ms-animation: heartAnimate 1s ease infinite;
animation: heartAnimate 1s ease infinite;
}
上面的程序我的注释也写得很清楚了,感兴趣的可以自己试试看,主要就是css3中scale的放大功能和rotate的旋转功能应用,把握好状态的设置,动画效果还是很Q哒.
CSS3学习笔记(2)—左右跳动的红心的更多相关文章
- CSS3学习笔记(3)-CSS3边框
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- CSS3学习笔记之linear-gradient
我觉得CSS3很不错,自己也稍微看过,并且尝试过一些属性.对我自己而言,我没有勇气说我学过CSS3,我觉得任何自己看来很小的事情,也只是站在自己的角度来评判.就算的是"简单的"HT ...
- CSS3学习笔记1-选择器和新增属性
前言:之前自学了一些关于CSS3的知识,在学习过程中也遇到过坑,不过总算磕磕绊绊的学习完了关于CSS3的相关知识,于是最近把之前的笔记和代码整理了一下,也算是一个对CSS3知识的回顾复习吧,也希望能够 ...
- 十天精通CSS3学习笔记 part4
CSS3中的变形与动画(下) CSS3 Keyframes介绍 Keyframes 被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后 ...
- HTML5+CSS3学习笔记(二) 页面布局:HTML5新元素及其特性
HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 本次学习HTML5的新标签元素有: <head ...
- HTML5+CSS3学习笔记(一)
HTML5+CSS3概述 HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就是HTML ...
- CSS3学习笔记——伪类hover
最近看到一篇文章:“Transition.Transform和Animation使用简介及应用展示” ,想看看里面 “不同缓动类效果demo”例子的效果,发现了一个问题如下: .Trans_Bo ...
- css3学习笔记三
css3有些特殊的元素选择器这和jquery相似.效果图如下
- 我的CSS3学习笔记
1.元字符使用: []: 全部可选项 ||:并列 |:多选一 ?: 0个或者一个 *:0个或者多个 {}: 范围 2.CSS3属性选择器: E[attr]:存在attr属性即可: E[attr=val ...
随机推荐
- sudo apt-get upgrade 不成功遇到问题
一. sudo apt-get update 和 sudo apt-get upgrade 出错:(Ubuntu更新过程被中断后的问题) Ubuntu的更新过程是先下载完源里的文件就开始执行升级,如果 ...
- mc
Description 小C在MC里有n个牧场,自西向东呈一字形排列(自西向东用1-n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站, 每个牧场上只能建立一个控制站,每个控 ...
- openssl转换各种证书的语法收集
参考网址:https://www.sslshopper.com/ssl-converter.html 个人总结:先找准要生成什么证书先,尤其是正规购买的流程与openssl生成的不一样,所以先确定是什 ...
- JavaScript世界万物诞生记
作者:manxisuo链接:https://zhuanlan.zhihu.com/p/22989691来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 一. 无中生有 起 ...
- filter 中用spring StopWatch 监控请求执行时间
在filter中用spring stopWatch 来统计每个请求的执行时间: 虽然在firefox 中可以清楚的看到每个请求的执行时间,但是为了测试,记录日志, 方便以后查询维护. 还是必要的,下面 ...
- Android图片缓存之Glide进阶(四)
前言: 前面学习了Glide的简单使用(http://www.cnblogs.com/whoislcj/p/5558168.html),今天来学习一下Glide稍微复杂一点的使用. GlideModu ...
- Android Glide源码分析
1. 功能介绍 图片加载框架,相对于UniversalImageLoader,Picasso,它还支持video,Gif,SVG格式,支持缩略图请求,旨在打造更好的列表图片滑动体验.Glide有生命周 ...
- 9.【nuxt起步】-scroll分页加载
面是单页,下面实现一个列表页和分页加载的例子 1.新建pages/list.vue <template> <div> 分页加载列表页面 </div> </te ...
- 手机遥控器,3.5mm耳机接口红外遥控改造解析
很多家电都用红外遥控,如电视机.机顶盒.空调.电风扇等.越来越多的遥控器反而给我们带来了更多的问题,有时找不到遥控器放哪儿了,或者混淆了都是麻烦,事实上对手机进行简单的改造,可以自制一个万能红外遥控器 ...
- odoo多币种
配置 启用多币种特性,并设置本位币 Gain exchange rate account 汇损收益科目,一般为财务费用下的二级科目 Loss exchange rate account 汇损损 ...