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哒~~~

时间: 2024-09-28 17:55:52

CSS3学习笔记(2)—左右跳动的红心的相关文章

CSS3学习笔记

这两天的CSS3学习笔记: 慕课网课程地址: http://www.imooc.com/learn/33 笔记: 边框: 圆角效果border-radius:同border相同的缩写方式: 阴影box-shadow: 参数说明: 说明: 单位除了用px也可以用百分比: 多个阴影:用逗号隔开即可: 模糊半径与扩展半径的区别: 阴影模糊半径:此参数可选,其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊: 阴影扩展半径:此参数可选,其值可以是正负值,如果值为正,则整

css3学习笔记三

css3有些特殊的元素选择器这和jquery相似.效果图如下 黑色的小球是旋转3D效果不是特别明显,主要是学习的是对每个小球的控制.上代码. <!DOCTYPE html><html>  <head>    <title>Ball.html</title>        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&g

HTML5+CSS3学习笔记(一)

前段时间一直在学Python,不仅仅只是学Python的基础语法,还有科学计算,主要是Numpy和Matplotlib,爬虫,暂时还没有用到Scrapy那么高端的库,还停留在Python自带的urrllib模块,还有BeautifulSoup解析器,我发现,Web的问题,始终绕不过去.不得不承认的是,Web已经成为数据获取的主要渠道,所以有必要了解其机理性的一些规则,更何况,话有一点小私心,就是想做一个个人网站出来.总而言之,Web的知识是必须得学的,最直接的,自然就是HTML.CSS和Java

十天精通CSS3学习笔记 part4

CSS3中的变形与动画(下) CSS3 Keyframes介绍 Keyframes 被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后面紧跟着是动画名称加上一对花括号"{-}",括号中就是一些不同时间段样式规则. @keyframes changecolor{ 0%{ background: red; } 100%{ background: green; } } 在一个"@keyframes"中的样式

我的CSS3学习笔记

1.元字符使用: []: 全部可选项 ||:并列 |:多选一 ?: 0个或者一个 *:0个或者多个 {}: 范围 2.CSS3属性选择器: E[attr]:存在attr属性即可: E[attr=val]:属性值完全等于val E[attr*=val]:属性值里包含val字符并且在"任意"位置 E[attr^=val]:属性值里包含val字符并且在"开始"位置 E[attr$=val]:属性值里包含val字符并且在"结束"位置 3.CSS3伪类选择

CSS3学习笔记——伪类hover作用于子元素

最近看到一篇文章:“Transition.Transform和Animation使用简介及应用展示”    ,想看看里面 “不同缓动类效果demo” 例子的效果,发现了一个问题如下: .Trans_Box :hover (冒号前空格)这个伪类只能作用于 .trans_box中的子元素,鼠标移到自身时只能激发其子元素的样式发生改变. <!--Html部分代码--><div id="hhh" class="Trans_Box"> <div

HTML5+CSS3学习笔记(二) 页面布局:HTML5新元素及其特性

HTML5新元素及其特性 HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 本次学习HTML5的新标签元素有: <header>定义页面或区段的头部: <footer>定义页面或区段的尾部: <nav>定义页面或区段的导航区域: <section>页面的逻辑区域或内容组合: <article>定义正文或一篇完整的内容: <aside>定义

css3学习笔记,随时帮你记起遗忘的css3

一,css3基本情况介绍. 顾名思义css3是css2的升级版本,它较以往版本新增了很多强大的功能.目前chrome,safari,firefoxopera,IE10以后都开始支持css3的效果. 1.具体增加的强大功能介绍..选择器:以前我们通常用class,id,tagname 来作为html元素的选择器.css3的选择器更强大,他可以减少标签中的class,id的数量,更方便的维护样式表,更好的实现结构与表现的分离..圆角效果:border-radius..块阴影和文字阴影:可以对任意di

css3学习笔记一

首先界面是二维的但也可以有三维的效果.先了解浏览器兼容性问题,火狐加前缀(-moz-)IE加(-MF-)谷歌加(-webkit),简单介绍css3的几个属性. 对于背景来说如果是单纯着一种颜色可以会单调,css3支持对html元素进行梯度着色(gradient)包括线性(linear)的和环状(radial)的. div{ background:-moz-linear-gradient(blue,red);/*默认的梯度方向是从上往下由蓝色逐渐变红*/ } div{ background:-mo