使用snowfall.jquery.js实现爱心满屏飞的效果


Posted in Javascript onJanuary 05, 2017

小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果。

第一步:

         利用伪元素before和 :after画两个重叠在一起的长方形,如图所示:

使用snowfall.jquery.js实现爱心满屏飞的效果

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title></title>
 <style media="screen">
  body {
   overflow-y: hidden;
  }
  .heart-body {
   width: 500px;
   margin: 100px auto;
   position: relative;
  }
  .snowfall-flakes:before,
  .snowfall-flakes:after {
   content: "";
   position: absolute;
   left: 0px;
   top: 0px;
   display: block;
   width: 30px;
   height: 46px;
   background: red;
   border-radius: 50px 50px 0 0;
  }
 </style>
</head>
<body>
 <div class="heart-body">
  <div class="snowfall-flakes"></div>
 </div>
</body>
</html>

第二步:

        利用 transform  属性将两个两个伪元素分别旋转负45度、45度,如图所示:

使用snowfall.jquery.js实现爱心满屏飞的效果       

.snowfall-flakes:before {
   -webkit-transform: rotate(-45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(-45deg);
   /* Firefox */
   -ms-transform: rotate(-45deg);
   /* IE 9 */
   -o-transform: rotate(-45deg);
   /* Opera */
   transform: rotate(-45deg);
  }
  .snowfall-flakes:after {
   -webkit-transform: rotate(45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(45deg);
   /* Firefox */
   -ms-transform: rotate(45deg);
   /* IE 9 */
   -o-transform: rotate(45deg);
   /* Opera */
   transform: rotate(45deg);
  }

第三步:

         利用 left 属性,将伪元素 after 向左偏移一定像素,使两个微元素部分重叠,组成爱心样子,如图所示:

使用snowfall.jquery.js实现爱心满屏飞的效果    

.snowfall-flakes:after {
   left: 13px;
   -webkit-transform: rotate(45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(45deg);
   /* Firefox */
   -ms-transform: rotate(45deg);
   /* IE 9 */
   -o-transform: rotate(45deg);
   /* Opera */
   transform: rotate(45deg);
  }

爱心我们画完了,那么怎么让爱心实现满屏飞呢,其实只需要调用jquery.js和 snowfall.jquery.js就能实现,效果图如下:

使用snowfall.jquery.js实现爱心满屏飞的效果

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title></title>
 <style media="screen">
  body {
   overflow: hidden;
  }
  .heart-body {
   width: 500px;
   margin: 100px auto;
   position: relative;
  }
  .snowfall-flakes:before,
  .snowfall-flakes:after {
   content: "";
   position: absolute;
   left: 0px;
   top: 0px;
   display: block;
   width: 30px;
   height: 46px;
   background: red;
   border-radius: 50px 50px 0 0;
  }
  .snowfall-flakes:before {
   -webkit-transform: rotate(-45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(-45deg);
   /* Firefox */
   -ms-transform: rotate(-45deg);
   /* IE 9 */
   -o-transform: rotate(-45deg);
   /* Opera */
   transform: rotate(-45deg);
  }
  .snowfall-flakes:after {
   left: 13px;
   -webkit-transform: rotate(45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(45deg);
   /* Firefox */
   -ms-transform: rotate(45deg);
   /* IE 9 */
   -o-transform: rotate(45deg);
   /* Opera */
   transform: rotate(45deg);
  }
 </style>
</head>
<body>
 <script src="js/jquery.js" type="text/javascript"></script>
 <script src="js/snowfall.jquery.js"></script>
 <script>
  //调用飘落函数 实现飘落效果
  $(document).snowfall({
   flakeCount: 50 //爱心的个数
  });
 </script>
</body>
</html>

其实小颖觉得爱心画小一点比较好看,上面画那么大其实是为了方便大家看爱心更明显一些,小颖把爱心画小后,就好看多了,效果图如下:

使用snowfall.jquery.js实现爱心满屏飞的效果

小的爱心,需改变以下属性的值: 

.snowfall-flakes:before,
  .snowfall-flakes:after {
   width: 10px;
   height: 16px;
   border-radius: 10px 10px 0 0;
  }
  .snowfall-flakes:after {
   left: 4px;
  }

以上所述是小编给大家介绍的使用snowfall.jquery.js实现爱心满屏飞效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
今天是星期几的4种JS代码写法
Sep 17 Javascript
JavaScript中的条件判断语句使用详解
Jun 03 Javascript
18个非常棒的jQuery代码片段
Nov 02 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
ReactJs实现树形结构的数据显示的组件的示例
Aug 18 Javascript
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
js原生实现移动端手指滑动轮播图效果的示例
Jan 02 Javascript
Node解决简单重复问题系列之Excel内容的获取
Jan 02 Javascript
element-ui使用导航栏跳转路由的用法详解
Aug 22 Javascript
JavaScript解析及序列化JSON的方法实例分析
Jan 04 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
Mar 08 Javascript
Vue如何实现监听组件原生事件
Jul 03 Javascript
jQuery实现动态文字搜索功能
Jan 05 #Javascript
JS实现HTML标签转义及反转义
Apr 14 #Javascript
jQuery基于ajax操作json数据简单示例
Jan 05 #Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
Jan 05 #Javascript
如何提高Dom访问速度
Jan 05 #Javascript
AngularJS中run方法的巧妙运用
Jan 04 #Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
Jan 04 #Javascript
You might like
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
Python字符串逐字符或逐词反转方法
2015/05/21 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python中import机制详解
2017/11/14 Python
python用户管理系统的实例讲解
2017/12/23 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
Java和Javasciprt的区别
2012/09/02 面试题
linux比较文件内容的命令是什么
2015/09/23 面试题
十岁生日父母答谢词
2014/01/18 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
财务个人年度总结范文
2015/02/26 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
运动会开幕式主持词
2015/07/01 职场文书
改进工作作风心得体会
2016/01/23 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers