今天给大家分享一款基于jquery和css3的头像恶搞特效。这款实例中,一个头像在画面中跳舞,头像还有可爱的帽子,单击下面的按钮可以为头像切换不同的帽子。效果图如下:

在线预览   源码下载

实现的代码。

html代码:

  1. <div class="wwiaftm-container">
  2. <div class="base wwiaftm">
  3. <div class="body-1 wwiaftm">
  4. <div class="body-2 wwiaftm">
  5. <div class="hat wwiaftm" style="background-image: url(Mini_Sombrero.png)">
  6. </div>
  7. <div class="head wwiaftm">
  8. <div class="profile">
  9. <img src="head.png">
  10. </div>
  11. </div>
  12. <div class="wwiaftm arm-1 left">
  13. <div class="wwiaftm arm-2 left">
  14. <div class="wwiaftm fingers">
  15. </div>
  16. </div>
  17. </div>
  18. <div class="wwiaftm arm-1 right">
  19. <div class="wwiaftm arm-2 right">
  20. <div class="wwiaftm fingers">
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="switch-container">
  29. <button id="hat-switch">
  30. Hat Me!</button>
  31. </div>
  32. <script src='jquery.min.js'></script>
  33. <script>        var hats = Array(
  34. 'Mini_Sombrero.png', 'med.png',
  35. 'svg.med.png',
  36. 'cartoon-cowboy-8.gif',
  37. '1313955-witch-hat-002_92007.gif',
  38. 'hat_mario_101401.jpg',
  39. 'vector-hat-design1.jpg'
  40. );
  41. $('#hat-switch').on('click', function (e) {
  42. e.preventDefault();
  43. var hat = hats[Math.floor(Math.random() * hats.length)];
  44. $('.hat').css('background-image', 'url(' + hat + ')');
  45. });
  46. //@ sourceURL=pen.js
  47. </script>

css3代码:

  1. .wwiaftm-container {
  2. position: relative;
  3. width: 200px;
  4. height: 275px;
  5. margin: auto;
  6. padding-top: 100px;
  7. }
  8. .profile {
  9. border-radius: 100px;
  10. overflow: hidden;
  11. }
  12. .wwiaftm {
  13. background: #48e0a4;
  14. position: absolute;
  15. margin: auto;
  16. border-radius: 25%;
  17. }
  18. .body-1 {
  19. background-repeat: no-repeat;
  20. background-position: center;
  21. background-size: 70%;
  22. }
  23. .base {
  24. width: 60px;
  25. height: 80px;
  26. bottom: 0;
  27. left: 0;
  28. right: 0;
  29. }
  30. .hat {
  31. top: -120px;
  32. height: 80px;
  33. width: 100px;
  34. -webkit-transform-origin: 50% 100%;
  35. transform-origin: 50% 100%;
  36. -webkit-transform: rotate3d(0,0,1,0deg);
  37. transform: rotate3d(0,0,1,0deg);
  38. background-repeat: no-repeat;
  39. background-position: center;
  40. transparent;
  41. background-size: 100%;
  42. z-index: 10 !important;
  43. }
  44. .body-1, .body-2, .head {
  45. top: -60px;
  46. height: 80px;
  47. width: 60px;
  48. -webkit-transform-origin: 50% 100%;
  49. transform-origin: 50% 100%;
  50. -webkit-transform: rotate3d(0,0,1,0deg);
  51. transform: rotate3d(0,0,1,0deg);
  52. }
  53. .body-1 {
  54. -webkit-animation: flail 4s linear infinite;
  55. animation: flail 4s linear infinite;
  56. }
  57. .body-2 {
  58. -webkit-animation: flail 3s linear infinite;
  59. animation: flail 3s linear infinite;
  60. }
  61. .head, .hat {
  62. -webkit-animation: flail 2s linear infinite;
  63. animation: flail 2s linear infinite;
  64. z-index: 1;
  65. }
  66. .head .eye, .head .mouth {
  67. height: 20%;
  68. width: 15%;
  69. background: black;
  70. position: absolute;
  71. top: 25%;
  72. }
  73. .head .eye.right {
  74. right: 20%;
  75. }
  76. .head .eye.left {
  77. left: 20%;
  78. }
  79. .head .mouth {
  80. width: 70%;
  81. top: 60%;
  82. height: 5%;
  83. left: 0;
  84. right: 0;
  85. margin: auto;
  86. }
  87. .arm-1, .arm-2 {
  88. position: absolute;
  89. width: 50px;
  90. height: 20px;
  91. right: 90%;
  92. top: 25%;
  93. -webkit-animation: flail 1s linear infinite;
  94. animation: flail 1s linear infinite;
  95. -webkit-transform-origin: 100% 50%;
  96. transform-origin: 100% 50%;
  97. }
  98. .arm-1.right, .arm-2.right {
  99. left: 90%;
  100. -webkit-transform-origin: 0% 50%;
  101. transform-origin: 0% 50%;
  102. }
  103. .arm-1 .arm-2 {
  104. -webkit-animation: flail .5s linear infinite;
  105. animation: flail .5s linear infinite;
  106. right: 80%;
  107. top: auto;
  108. }
  109. .arm-1 .arm-2.right {
  110. left: 80%;
  111. right: auto;
  112. }
  113. @-webkit-keyframes flail {
  114. 0% {
  115. -webkit-transform: rotate3d(0,0,1,0deg);
  116. }
  117. 25% {
  118. -webkit-transform: rotate3d(0,0,1,50deg);
  119. }
  120. 50% {
  121. -webkit-transform: rotate3d(0,0,1,0deg);
  122. }
  123. 75% {
  124. -webkit-transform: rotate3d(0,0,1,-50deg);
  125. }
  126. 100% {
  127. -webkit-transform: rotate3d(0,0,1,0deg);
  128. }
  129. }
  130. @keyframes flail {
  131. 0% {
  132. transform: rotate3d(0,0,1,0deg);
  133. }
  134. 25% {
  135. transform: rotate3d(0,0,1,50deg);
  136. }
  137. 50% {
  138. transform: rotate3d(0,0,1,0deg);
  139. }
  140. 75% {
  141. transform: rotate3d(0,0,1,-50deg);
  142. }
  143. 100% {
  144. transform: rotate3d(0,0,1,0deg);
  145. }
  146. }
  147. .switch-container {
  148. text-align: center;
  149. margin-top: 25px;
  150. }
  151. #hat-switch {
  152. text-align: center;
  153. font-size: 24px;
  154. cursor: pointer;
  155. }

一款基于jquery和css3的头像恶搞特效的更多相关文章

  1. 一款基于jquery和css3的响应式二级导航菜单

    今天给大家分享一款基于jquery和css3的响应式二级导航菜单,这款导航是传统的基于顶部,鼠标经过的时候显示二级导航,还采用了当前流行的响应式设计.效果图如下: 在线预览   源码下载 实现的代码. ...

  2. 一款基于jquery和css3实现的摩天轮式分享按钮

    之前分享了很多css3实现的按钮.今天要给大家带来一款基于jquery和css3实现的摩天轮式分享按钮.这款分享按钮页面底部有一个toggle按钮,单击该按钮,摩天轮按钮以动画的形式出现,各个分享按钮 ...

  3. 一款基于jquery的鼠标经过图片列表特效

    今天要给大家推荐一款基于jquery的鼠标经过图片列表特效.当鼠标经过列表图片的时候,图片放大,且有一个半透明的遮罩层随之移动.效果图如下: 在线预览   源码下载 实现的代码 html代码: < ...

  4. 一款基于jquery超炫的图片切换特效

    今天为给大家介绍一款基于jquery超炫的图片切换特效.由百叶窗飞入显示图片.图片消息的时候也是百叶窗渐行渐远.用于图片展示,效果还是非常好,我们一起看下效果图: 在线预览   源码下载 来看下实现的 ...

  5. 一款基于jQuery和CSS3炫酷3D旋转画廊特效插件

    这是一款效果炫酷的jQuery和CSS3 3D旋转画廊特效插件.该3D画廊插件可以通过前后导航按钮来切换图片,效果就像旋转木马一样.它还带有点击放大图片,显示图片标题和用键盘操作等功能. 在线预览   ...

  6. 4款基于jquery的列表图标动画切换特效

    网页中列表图标随处可见,特别是移动网页上,基本上的导航都采用了列表图标.今天给大家分享4款基于juqery的列表图标和关闭图标的动画切换特效.喜欢的网友赶紧收藏吧. 在线预览   源码下载 实现的代码 ...

  7. 10款基于jquery的web前端动画特效

    1.jQuery横向手风琴图片切换动画 之前我们为大家分享过很多款基于jQuery和CSS3的手风琴菜单和手风琴焦点图插件,比如CSS3响应式垂直手风琴菜单和jQuery横向手风琴图片展示插件.今天要 ...

  8. 基于jQuery 3D旋转明星人物展示特效

    分享一款基于jQuery 3D旋转明星人物展示特效.这是一款来自百度换肤活动的明星旋转展示效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=&quo ...

  9. 30款基于 jQuery & CSS3 的加载动画和进度条插件

    我们所生活每一天看到的新技术或新设计潮流的兴起,Web 开发正处在上升的时代.HTML5 & CSS3 技术的发展让 Web 端可以实现的功能越来越强大. 加载动画和进度条使网站更具吸引力.该 ...

随机推荐

  1. [hihoCoder] 第四十九周: 欧拉路·一

    题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最 ...

  2. HTTP、 TCP、 IP、 Socket、 XMPP

    网络自下而上分为: 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 HTTP:应用层协议,主要解决如何包装数据 XMPP:应用层协议 TCP:传输层协议,主要解决数据如何在网络中传输 IP ...

  3. 使用gradle多渠道打包

    以友盟的多渠道打包为例,如果我们须要打包出例如以下渠道:UMENG, WANDOUJIA, YINGYONGBAO. 第一种方法.是须要创建文件的. 我们在写完我们的代码之后,在app/src以下.分 ...

  4. Win7/Win8.1右键菜单技巧:应用程序任意加

    对于Win7.Win8.1老用户来说,日常使用中离不开双击各类第三方应用程序,尤其是常用的记事本.QQ聊天.关机.一键截图等程序,这时我们不妨将这些“右键菜单”,轻松实现一键开启QQ.截图或者关机等功 ...

  5. 绕过chrome的弹窗拦截机制

    在chrome的安全机制里面,非用户触发的window.open方法,是会被拦截的.举个例子: var btn = $('#btn'); btn.click(function () { //不会被拦截 ...

  6. nodejs文件上传报错总结

    语法: fs.rename(oldPath,newPath,callback) 今天在使用formidable模块做图片上传处理的时候,fs.rename方法的报了一个这样的错:cross-devic ...

  7. c# 除掉前三个字符,剩下的4个字符全为数字方为特殊车辆

    string plate="粤BN1223"; if (plate.Contains("粤BN")) { //除掉前三个字符,剩下的4个字符全为数字方为特殊车辆 ...

  8. Java 编程下字符串的 16 位、32位 MD5 加密

    package cn.sunzn.md5; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExcept ...

  9. Natural Language Processing, 2017, Mar.29, Weekly Report

    Distributed Representations of Words and Phrases and their Compositionality T Mikolov, I Sutskever, ...

  10. Zabbix之Python脚本端口自动发现

    Zabbix监控服务端口,可以手动添加配置,但是如果一个服务器上需要监控的端口数较多,那么利用Zabbix自动发现,比较高效,下面是自动发现port的Python脚本. #!/usr/bin/pyth ...