前言

很不巧前天突然就感冒了,都怪自己吃太多饼干导致上火了。整个人都无精打采。本来想多做几个兔斯基表情的,但身体发热很难受。所以就只完成一个简单点的表情耍一耍。

正文

先看一下这个简单到不能再简单的小表情吧:

这里我就直接分享代码吧:

html结构:

<div class="tuzki_container">
<div class="tuzki">
<div class="leftear"></div>
<div class="rightear"></div>
<div class="header">
<div class="lefteye"></div>
<div class="righteye"></div>
<div class="leftcheek"></div>
<div class="rightcheek"></div>
</div>
<div class="body"></div>
<div class="hearts">
<div class="heart"></div>
</div>
</div>
</div>

这个结构还是很简单的,毕竟兔斯基就是简单的线稿表情。主要还是人为的给它赋予动画,带入一种有特定情境的表情。

下面就给它设置css样式:

头部(包括眼睛和脸颊):

.tuzki_container{
position:relative;
}
.tuzki{
width:220px;
height:300px;
margin:50px auto;
position: relative;
overflow:hidden;
}
.header{
width:194px;
height:170px;
background:#fff;
border:8px solid #000;
border-radius:194px/170px;
-webkit-transform:rotate(2deg);
-moz-transform:rotate(2deg);
-o-transform:rotate(2deg);
-ms-transform:rotate(2deg);
transform:rotate(2deg);
position: absolute;
top:45px;
left:;
overflow:hidden;
z-index:;
}
.header:before{
content:'';
display:block;
width:200px;
height:140px;
border-bottom:40px solid rgba(198,207,212,0.7);
border-radius:150px;
margin-top:-5px;
z-index:;
position:absolute;
}
.header .lefteye,.header .righteye{
width:58px;
height:8px;
background:#000;
border-radius:5px;
-webkit-transform:rotate(5deg);
-moz-transform:rotate(5deg);
-o-transform:rotate(5deg);
-ms-transform:rotate(5deg);
transform:rotate(5deg);
position: absolute;
top:70px;
left:10px;
}
.header .righteye{
top:78px;
left:100px;
}
.leftcheek{
width:26px;
height:26px;
background:#ff6666;
border-radius:50%;
box-shadow:0 0 5px #ff6666;
position: absolute;
top:95px;
left:3px;
opacity:0.9;
-webkit-animation:cheekscale 1s ease-out infinite;
-moz-animation:cheekscale 1s ease-out infinite;
-o-animation:cheekscale 1s ease-out infinite;
-ms-animation:cheekscale 1s ease-out infinite;
animation:cheekscale 1s ease-out infinite;
}
.rightcheek{
width:30px;
height:30px;
background:#ff6666;
border-radius:50%;
box-shadow:0 0 5px #ff6666;
position: absolute;
top:105px;
left:140px;
opacity:0.9;
-webkit-animation:cheekscale 1s ease-out infinite;
-moz-animation:cheekscale 1s ease-out infinite;
-o-animation:cheekscale 1s ease-out infinite;
-ms-animation:cheekscale 1s ease-out infinite;
animation:cheekscale 1s ease-out infinite;
}
@-webkit-keyframes cheekscale {
0%{
-webkit-transform:scale(1);
opacity:;
}
100%{
-webkit-transform:scale(1.1);
box-shadow:0 0 10px #ff6666;
opacity:0.6;
}
}
@-moz-keyframes cheekscale {
0%{
-moz-transform:scale(1);
opacity:;
}
100%{
-moz-transform:scale(1.1);
box-shadow:0 0 10px #ff6666;
opacity:0.6;
}
}
@-o-keyframes cheekscale {
0%{
-o-transform:scale(1);
opacity:;
}
100%{
-o-transform:scale(1.1);
box-shadow:0 0 10px #ff6666;
opacity:0.6;
}
}
@-ms-keyframes cheekscale {
0%{
-ms-transform:scale(1);
opacity:;
}
100%{
-ms-transform:scale(1.1);
box-shadow:0 0 10px #ff6666;
opacity:0.6;
}
}
@keyframes cheekscale {
0%{
transform:scale(1);
opacity:;
}
100%{
transform:scale(1.1);
box-shadow:0 0 10px #ff6666;
opacity:0.6;
}
}

耳朵:

.leftear{
width:22px;
height:50px;
border:7px solid #000;
border-radius:34px/62px;
position:absolute;
top:2px;
left:75px;
-webkit-transform:rotate(6deg);
-moz-transform:rotate(6deg);
-o-transform:rotate(6deg);
-ms-transform:rotate(6deg);
transform:rotate(6deg);
}
.rightear{
width:22px;
height:80px;
background:#fff;
border:7px solid #000;
border-top-left-radius:34px 62px;
border-top-right-radius:34px 62px;
border-bottom-left-radius:34px 100px;
border-bottom-right-radius:34px 100px;
-webkit-transform:rotate(20deg);
-moz-transform:rotate(20deg);
-o-transform:rotate(20deg);
-ms-transform:rotate(20deg);
transform:rotate(20deg);
position:absolute;
left:140px;
top:3px;
z-index:;
}
.rightear:after{
content:'';
display:block;
width:30px;
height:15px;
background:#fff;
position: absolute;
bottom:-7px;
left:-5px;
}

身体:

.body{
width:100px;
height:100px;
background:#fff;
border:8px solid #000;
border-left:6px solid #000;
border-top-left-radius:54px 130px;
border-top-right-radius:54px 130px;
border-bottom-left-radius:20px 100px;
border-bottom-right-radius:20px 100px;
-webkit-transform:rotate(-3deg);
-moz-transform:rotate(-3deg);
-o-transform:rotate(-3deg);
-ms-transform:rotate(-3deg);
transform:rotate(-3deg);
position: absolute;
top:215px;
left:65px;
}
.body:before{
content:'';
display:block;
width:40px;
height:100px;
border:7px solid #000;
border-right:none;
border-top:none;
border-top-left-radius:30px 50px;
border-top-right-radius:30px 50px;
border-bottom-left-radius:24px 80px;
-webkit-transform:rotate(19deg);
-moz-transform:rotate(19deg);
-o-transform:rotate(19deg);
-ms-transform:rotate(19deg);
transform:rotate(19deg);
position: absolute;
left:-19px;
top:-2px;
}
.body:after{
content:'';
display:block;
width:20px;
height:60px;
border-right:6px solid #000;
border-radius:50px;
position: absolute;
left:57px;
top:30px;
}

心形:

.heart,.heart:before{
display: inline-block;
width: 20px;
height: 30px;
border-radius: 10px;
background: #ff6666;
position: absolute;
top:-10px;
left:12.7px;
-webkit-transform-origin: bottom right;
-moz-transform-origin: bottom right;
-o-transform-origin: bottom right;
-ms-transform-origin: bottom right;
transform-origin: bottom right;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.heart:before{
content: '';
-webkit-transform-origin: bottom left;
-moz-transform-origin: bottom left;
-o-transform-origin: bottom left;
-ms-transform-origin: bottom left;
transform-origin: bottom left;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
top:-18px;
left:2px;
}
.heart:after{
content: '';
width:;
height:;
border-left:10.8px solid transparent;
border-right:10.8px solid transparent;
border-top:12px solid #ff6666;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top:22.6px;
left:-7.3px;
}
.hearts{
opacity:;
-webkit-transform:rotate(-30deg) translate3d(-10px,-15px,0);
-moz-transform:rotate(-30deg) translate3d(-10px,-15px,0);
-o-transform:rotate(-30deg) translate3d(-10px,-15px,0);
-ms-transform:rotate(-30deg) translate3d(-10px,-15px,0);
transform:rotate(-30deg) translate3d(-10px,-15px,0);
-webkit-animation:heartmove 1s ease-in infinite;
-moz-animation:heartmove 1s ease-in infinite;
-o-animation:heartmove 1s ease-in infinite;
-ms-animation:heartmove 1s ease-in infinite;
animation:heartmove 1s ease-in infinite;
}
@-webkit-keyframes heartmove {
0%{
opacity:;
-webkit-transform:rotate(-30deg) translate3d(-10px,-15px,0);
}
100%{
opacity:0.6;
-webkit-transform:rotate(-30deg) translate3d(-10px,-25px,0);
}
}
@-moz-keyframes heartmove {
0%{
opacity:;
-moz-transform:rotate(-30deg) translate3d(-10px,-15px,0);
}
100%{
opacity:0.6;
-moz-transform:rotate(-30deg) translate3d(-10px,-25px,0);
}
}
@-o-keyframes heartmove {
0%{
opacity:;
-o-transform:rotate(-30deg) translate3d(-10px,-15px,0);
}
100%{
opacity:0.6;
-o-transform:rotate(-30deg) translate3d(-10px,-25px,0);
}
}
@-ms-keyframes heartmove {
0%{
opacity:;
-ms-transform:rotate(-30deg) translate3d(-10px,-15px,0);
}
100%{
opacity:0.6;
-ms-transform:rotate(-30deg) translate3d(-10px,-25px,0);
}
}
@keyframes heartmove {
0%{
opacity:;
transform:rotate(-30deg) translate3d(-10px,-15px,0);
}
100%{
opacity:0.6;
transform:rotate(-30deg) translate3d(-10px,-25px,0);
}
}

PS:因为兔斯基很多表情都基于同一个身体,通过不同动画来表现的,所以如果想做流泪的表情,只需要把动画部分换成流眼泪就行了,其他部分可以不做修改。就是这么简单!

若需转载,请注明出处,谢谢合作!

纯CSS3实现兔斯基简单害羞表情的更多相关文章

  1. 纯CSS3实现的一些酷炫效果

    之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的. 一.笑脸猫动画 实现效果如下: 这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整. 1.先看 ...

  2. 纯css3圆形从中心向四周扩散动画效果

    查看效果:http://hovertree.com/texiao/css3/37/ 先来个简单的示例,例如: @keyframes hovertreemove{from {top:30px;}to { ...

  3. 纯css3艺术文字样式效果代码

    效果:http://hovertree.com/texiao/css3/1/ 本效果主要使用text-shadow实现.参考:http://hovertree.com/h/bjaf/css3_text ...

  4. 纯CSS3写的10个不同的酷炫图片遮罩层效果【转】

    这个是纯CSS3实现的的10个不同的酷炫图片遮罩层效果,可以欣赏一下 在线预览 下载地址 实例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  5. 纯CSS3写的10个不同的酷炫图片遮罩层效果

    这个是纯CSS3实现的的10个不同的酷炫图片遮罩层效果,可以欣赏一下 在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...

  6. 纯CSS3大转盘抽奖(响应式、可配置)

    源于前段时候微信小程序最初火爆公测时段,把以前用 Canvas 实现的大转盘抽奖移植成微信小程序,无奈当时小程序对 Canvas 支持不够完善,只好降低用 CSS3 实现.虽然比不上 Canvas 绘 ...

  7. 8个超炫酷的纯CSS3动画及源码分享

    在现代网页中,我们已经越来越习惯使用大量的CSS3元素,而现在的浏览器也基本都支持CSS3,所以很多时候我们不妨思考一下是否可以用纯CSS3制作一些有趣或者实用的网页.本文要分享8个超炫酷的纯CSS3 ...

  8. 纯css3写的仿真图书翻页效果

    对css3研究越深入,越觉得惊艳.css3说不上是万能的,但是它能实现的效果也超出了我的想象.它的高效率和动画效果的流畅性很多情况下能替代js的作用.个人习惯css3能实现的效果就不会用js,虽然在国 ...

  9. 【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画

    之前向大家介绍8款优秀的 jQuery 加载动画和进度条插件,今天这篇文章向大家推荐10个纯 CSS3 代码实现精美加载进度条动画效果的方案.加载动画和进度条在网站和 Web 应用中的使用非常流行,特 ...

随机推荐

  1. RHEL7软件包管理

    本文介绍RHEL7的软件包管理 RHEL7下主要有RPM和YUM这两种包管理: YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包并获取该包依赖的其他包 RPM的需要的操作精度比 ...

  2. AT NEW F、AT END OF F注意事项

    1.F只能是内表的第一个字段 2.AT NEW F.AT END OF F使用F之后内表内容会变为* 解决出现*的办法: FIELD-SYMBOLS:<ITAB> LIKE  ITAB L ...

  3. 访问SAP的Domain的Value Range

    访问Domain的Value Range有两种方法: 1.直接访问表 dd07l和dd07T     select * from dd07l            where domname   = ...

  4. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q28-Q31)

    Question28You have a Microsoft Office SharePoint Server 2007 site.You upgrade the site to SharePoint ...

  5. 附带详细注释的log4net的app.config文件配置例子

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  6. JavaScript Patterns 3.4 Array Literal

    Array Literal Syntax To avoid potential errors when creating dynamic arrays at runtime, it's much sa ...

  7. PS网页设计教程XXX——在PS中创建一个漫画书主题网页布局

    作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...

  8. Oracle与SQL SERVER编程差异分析(入门)

    网上有关Oracle与SQL SERVER性能差异的文章很多,结论往往是让你根据数据量与预算来选择数据库.但实际项目中,特别是使用 .Net 开发的系统,支持以上两种数据库或者更多已经成为Boss的普 ...

  9. 聚合数据天气预报API-ajax 通过城市名取数据

    如需要,可申请聚合数据天气预报API:https://www.juhe.cn/docs/api/id/39,并生成AppKey. 接口地址:http://v.juhe.cn/weather/index ...

  10. HDU 4941 Magical Forest --STL Map应用

    题意: 有n*m个格子(n,m <= 2*10^9),有k(k<=10^5)个格子中有值,现在有三种操作,第一种为交换两行,第二种为交换两列,交换时只有两行或两列都有格子有值或都没有格子有 ...