一款基于jquery和css3的头像恶搞特效

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

在线预览   源码下载

实现的代码。

html代码:

  <div class="wwiaftm-container">
        <div class="base wwiaftm">
            <div class="body-1 wwiaftm">
                <div class="body-2 wwiaftm">
                    <div class="hat wwiaftm" style="background-image: url(Mini_Sombrero.png)">
                    </div>
                    <div class="head wwiaftm">
                        <div class="profile">
                            <img src="head.png">
                        </div>
                    </div>
                    <div class="wwiaftm arm-1 left">
                        <div class="wwiaftm arm-2 left">
                            <div class="wwiaftm fingers">
                            </div>
                        </div>
                    </div>
                    <div class="wwiaftm arm-1 right">
                        <div class="wwiaftm arm-2 right">
                            <div class="wwiaftm fingers">
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="switch-container">
        <button id="hat-switch">
            Hat Me!</button>
    </div>
    <script src=‘jquery.min.js‘></script>
    <script>        var hats = Array(
  ‘Mini_Sombrero.png‘, ‘med.png‘,
  ‘svg.med.png‘,
  ‘cartoon-cowboy-8.gif‘,
  ‘1313955-witch-hat-002_92007.gif‘,
  ‘hat_mario_101401.jpg‘,
  ‘vector-hat-design1.jpg‘
);

        $(‘#hat-switch‘).on(‘click‘, function (e) {
            e.preventDefault();
            var hat = hats[Math.floor(Math.random() * hats.length)];
            $(‘.hat‘).css(‘background-image‘, ‘url(‘ + hat + ‘)‘);
        });
        //@ sourceURL=pen.js
    </script>

css3代码:

.wwiaftm-container {
  position: relative;
  width: 200px;
  height: 275px;
  margin: auto;
  padding-top: 100px;
}

.profile {
  border-radius: 100px;
  overflow: hidden;
}

.wwiaftm {
  background: #48e0a4;
  position: absolute;
  margin: auto;
  border-radius: 25%;
}

.body-1 {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

.base {
  width: 60px;
  height: 80px;
  bottom: 0;
  left: 0;
  right: 0;
}

.hat {
  top: -120px;
  height: 80px;
  width: 100px;
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transform: rotate3d(0,0,1,0deg);
  transform: rotate3d(0,0,1,0deg);
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
  background-size: 100%;
  z-index: 10 !important;
}

.body-1, .body-2, .head {
  top: -60px;
  height: 80px;
  width: 60px;
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transform: rotate3d(0,0,1,0deg);
  transform: rotate3d(0,0,1,0deg);
}

.body-1 {
  -webkit-animation: flail 4s linear infinite;
  animation: flail 4s linear infinite;
}

.body-2 {
  -webkit-animation: flail 3s linear infinite;
  animation: flail 3s linear infinite;
}

.head, .hat {
  -webkit-animation: flail 2s linear infinite;
  animation: flail 2s linear infinite;
  z-index: 1;
}

.head .eye, .head .mouth {
  height: 20%;
  width: 15%;
  background: black;
  position: absolute;
  top: 25%;
}

.head .eye.right {
  right: 20%;
}

.head .eye.left {
  left: 20%;
}

.head .mouth {
  width: 70%;
  top: 60%;
  height: 5%;
  left: 0;
  right: 0;
  margin: auto;
}

.arm-1, .arm-2 {
  position: absolute;
  width: 50px;
  height: 20px;
  right: 90%;
  top: 25%;
  -webkit-animation: flail 1s linear infinite;
  animation: flail 1s linear infinite;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
}

.arm-1.right, .arm-2.right {
  left: 90%;
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
}

.arm-1 .arm-2 {
  -webkit-animation: flail .5s linear infinite;
  animation: flail .5s linear infinite;
  right: 80%;
  top: auto;
}

.arm-1 .arm-2.right {
  left: 80%;
  right: auto;
}

@-webkit-keyframes flail {
  0% {
    -webkit-transform: rotate3d(0,0,1,0deg);
  }
  25% {
    -webkit-transform: rotate3d(0,0,1,50deg);
  }
  50% {
    -webkit-transform: rotate3d(0,0,1,0deg);
  }
  75% {
    -webkit-transform: rotate3d(0,0,1,-50deg);
  }
  100% {
    -webkit-transform: rotate3d(0,0,1,0deg);
  }
}

@keyframes flail {
  0% {
    transform: rotate3d(0,0,1,0deg);
  }
  25% {
    transform: rotate3d(0,0,1,50deg);
  }
  50% {
    transform: rotate3d(0,0,1,0deg);
  }
  75% {
    transform: rotate3d(0,0,1,-50deg);
  }
  100% {
    transform: rotate3d(0,0,1,0deg);
  }
}

.switch-container {
  text-align: center;
  margin-top: 25px;
}

#hat-switch {
  text-align: center;
  font-size: 24px;
  cursor: pointer;
}

注:本文爱编程原创文章,转载请注明原文地址:http://www.w2bc.com/Article/10971

时间: 2024-10-14 05:28:11

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

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

之前分享了很多css3实现的按钮.今天要给大家带来一款基于jquery和css3实现的摩天轮式分享按钮.这款分享按钮页面底部有一个toggle按钮,单击该按钮,摩天轮按钮以动画的形式出现,各个分享按钮挂在摩天轮上.效果图如下: 在线预览   源码下载 实现的代码. 部分html代码: <div class="ferris-base"> <div class="ferris-base--center"> <div id="&qu

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

今天给大家分享一款基于jquery和css3的响应式二级导航菜单,这款导航是传统的基于顶部,鼠标经过的时候显示二级导航,还采用了当前流行的响应式设计.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="header"> <div class="logo"> <a href="#">Responsive Nav</a> </div> <nav>

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

今天为给大家介绍一款基于jquery超炫的图片切换特效.由百叶窗飞入显示图片.图片消息的时候也是百叶窗渐行渐远.用于图片展示,效果还是非常好,我们一起看下效果图: 在线预览   源码下载 来看下实现的代码.注意了,这里有引用jquery和underscore插件. html代码: <div class="wrap"> <div class="box active" style="background-image: url(img/1.jp

分享10款基于jquery和css3的web前端的动画特效

1.响应式圆形动画导航菜单 响应式的移动导航栏,现在我发现了一个新的技术(有关HTML5)可以在没有使用Javascript的情况下做一个响应式菜单.这个菜单可以自动排列到左边.中间或者右边).不像之前的教程需要点击某"开关"来显示或隐藏菜单,现在只需要把鼠标移到菜单按钮就会出现菜单列表(而且会提示当前所在的导航位置). 在线演示 源码下载 2.Canvas 示例:4种超炫的网站动画背景效果 今天,我们想分享一些动画背景的灵感.全屏背景图片的网站头部是最新的网页设计趋势,已经持续了一段

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

这是一款效果炫酷的jQuery和CSS3 3D旋转画廊特效插件.该3D画廊插件可以通过前后导航按钮来切换图片,效果就像旋转木马一样.它还带有点击放大图片,显示图片标题和用键盘操作等功能. 在线预览   源码下载 简要教程 这是一款效果非常炫酷的jQuery和CSS3 3D旋转画廊特效插件.第一个DEMO是一个简单的例子,使用CSS3来制作3d旋转效果,然后用js来控制前后导航按钮.第二个DEMO是第一个DEMO的升级版,它增加了图片标题.查看图片.键盘控制等其它功能. HTML结构 这个3D画廊

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

1.jQuery横向手风琴图片切换动画 之前我们为大家分享过很多款基于jQuery和CSS3的手风琴菜单和手风琴焦点图插件,比如CSS3响应式垂直手风琴菜单和jQuery横向手风琴图片展示插件.今天要介绍的也是一款基于jQuery的横向手风琴图片切换动画,鼠标滑过图片时即可展开,并且图片上方有文字标题,非常实用. 在线演示 源码下载 2.jQuery/CSS3渐变颜色拾取器 之前我们向大家分享过一款功能十分强大的jQuery颜色拾取器,支持透明度的选取.今天要为大家介绍的同样是一款基于jQuer

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

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

10款基于jQuery的图片滑块焦点图插件

1.Material UI – Material Design CSS 框架 Material Design 是谷歌推出的全新的设计理念,采用大胆的色彩.流畅的动画播放,以及卡片式的简洁设计.Material Design 风格的设计拥有干净的排版和简单的布局,容易理解,内容才是焦点.Material UI 是一个 CSS 框架和一组实现谷歌 Material Design 设计规范的 React 组件.可以作为 NPM 安装包,使用 browserify 和 reactify 的依赖管理和 J

分享一款基于jquery的圆形动画按钮

之前为大家介绍过一款纯css3实现的圆形旋转分享按钮.今天要给大家带来一款基于jquery的圆形动画按钮.这款按钮鼠标经过的时候以边框转圈,然后逐渐消息,在实例中给出了四种颜色的demo.效果图如下: 在线预览   源码下载 实现的代码. html代码: <figure class='red'> <div class='icon'> i</div> <div class='circle'> </div> </figure> <f