1、效果图:
2、设计思想:
(1)整个QQ企鹅有头部、左眼、右眼、嘴部、围巾、肚子、左手、右手、左脚、右脚十个部分。
(2)
头部部分里面包含了左右眼和嘴部;
:左右眼里面有三层元素:眼睛的底色部分、眼睛的黑色瞳孔、以及眼白。
:嘴部部分里面包含有嘴唇。
(3)
:围巾元素有两个部分,一个是围在脖子上的围巾,一个是肚子上的一部分。
左右手部分 是贴在肚子上的,使用的定位方式是absolut。
:左右脚有两个部分:一是:
下脚掌;一是:
上脚掌。
(4)在鼠标移动到QQ企鹅卡通形象时,QQ企鹅的嘴巴会消失,眼睛会变小,
,这 里使用的是CSS中的Transition,设置的过渡时间是1s。
3、实验总结:
只使用css进行卡通动画设计时,首先需要做的是先分析出卡通形象由哪些部分组成,在HTML部分中写出这些部分的标签,然后再css中对这些标签进行调整,呈现出比较好的卡通象。需要学好基础知识,并且熟悉的掌握。
4、代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QQ企鹅</title>
<link rel="stylesheet" href="kt.css">
</head>
<body>
<div class="qq_body">
<div class="head"></div>
<div class="bowknot">
<div class="bowknot_l">
<div class="bowknot_line3"></div>
<div class="bowknot_line4"></div>
</div>
<div class="bowknot_c"></div>
<div class="bowknot_tip_l"></div>
<div class="bowknot_tip_r"></div>
</div>
<div class="lefteye">
<div class="eyeshadowwhite"></div>
<div class="eyeball">
<div class="eyewhite"></div>
</div>
</div>
<div class="righteye">
<div class="eyeshadow"></div>
<div class="eyeshadowwhite"></div>
<div class="eyeball">
<div class="eyewhite"></div>
</div>
</div>
<div class="mouth_box">
<div class="mouth">
<div class="mark"></div>
</div>
</div>
<div class="belly">
<div class="belly_white"></div>
</div>
<div class="scarf"></div>
<div class="scarf_d"></div>
<div class="leftwing"></div>
<div class="rightwing"></div>
<div class="leftsole">
<div class="toe"></div>
</div>
<div class="rightsole">
<div class="toe"></div>
</div>
</div>
</body>
</html>
CSS:
* {
margin: 0;
padding: 0;
}
div {
position: absolute;
}
.qq_body {
width: 470px;
height: 540px;
left: 500px;
top: 100px;
}
/*QQ头部*/
.head {
z-index: 0;
left: 65px;
top: 0;
width: 345px;
height: 367px;
background: #19161A;
border-radius: 50%;
}
/*QQ眼睛*/
.lefteye,.righteye {
width: 66px;
height: 99px;
border-radius: 50%;
background: #fff;
left: 153px;
top: 76px;
z-index: 7;
overflow: hidden;
-webkit-transition:1s ease;
-moz-transition:1s ease;
-webkit-transition-property:all;
-moz-transition-property:all;
position:absolute;
}
.qq_body:hover .lefteye{
width: 85px;
height: 50px;
border-radius: 40% 60% 40%/60% 60% 40%;
background: #fff;
top: 85px;
}
.qq_body:hover .righteye{
width: 85px;
height: 50px;
border-radius: 40% 60% 40%/60% 60% 40%;
background: #fff;
top: 85px;
}
.eyeball {
width: 30px;
height: 42px;
background: #201E1F;
border-radius: 50%;
left: 28px;
top: 34px;
}
.eyeball .eyewhite {
width: 11px;
height: 18px;
background: #fff;
border-radius: 50%;
left: 12px;
top: 12px;
}
.righteye {
left: 245px;
}
.righteye .eyeball {
left: 11px;
}
.eyeshadowwhite {
width: 65px;
height: 54px;
border-radius: 50%;
background: rgba(255, 255, 255, 1);
top: 20px;
}
/*QQ嘴巴*/
.mouth_box {
width: 344px;
height: 188px;
top: 102px;
left: 66px;
border-radius: 50%;
z-index: 6;
background: #19161A;
}
.mouth {
width: 234px;
height: 70px;
border-radius: 50%;
background: #FC9202;
left: 52px;
bottom: 35px;
}
.mouth .mark {
width: 160px;
height: 84px;
border: 8px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
border-radius: 50%;
clip: rect(65px 160px 100px 0);
left: 32px;
top: -25px;
-webkit-transition:1s ease;
-moz-transition:1s ease;
-webkit-transition-property:all;
-moz-transition-property:all;
position:absolute;
}
.qq_body:hover .mouth .mark{
height: 30px;
border: 8px solid#000;
}
/*QQ身体*/
.belly {
width: 385px;
height: 322px;
left: 45px;
top: 185px;
z-index: 1;
background: #19161A;
border-radius: 50%;
}
.belly_white {
width: 315px;
height: 250px;
background: #fff;
border-radius: 50%;
left: 34px;
bottom: 10px;
}
/*QQ围巾*/
.scarf {
width: 355px;
height: 198px;
background: red;
border-radius: 50%;
z-index: 5;
left: 60px;
top: 155px;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 0, 0, 0.3) inset;
}
.scarf_d {
width: 80px;
height: 110px;
border-radius: 15px 15px 18px 35px;
background:red;
left: 110px;
top: 325px;
transform: rotate(15deg);
-moz-transform: rotate(15deg);
-webkit-transform: rotate(15deg);
-o-transform: rotate(15deg);
z-index: 4;
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 0, 0, 0.3) inset;
}
/*QQ翅膀*/
.leftwing,.rightwing {
width: 50px;
height: 170px;
background: #1A1624;
border-radius: 50%;
top: 270px;
}
.leftwing {
left: 10px;
transform: rotate(25deg);
-moz-transform: rotate(25deg);
-webkit-transform: rotate(25deg);
-o-transform: rotate(25deg);
}
.rightwing {
right: 10px;
transform: rotate(-25deg);
-moz-transform: rotate(-25deg);
-webkit-transform: rotate(-25deg);
-o-transform: rotate(-25deg);
}
/*QQ脚掌*/
.leftsole,.rightsole {
width: 157px;
height: 82px;
background: #F07203;
top: 455px;
border-radius: 50%;
border: 3px solid #872E0C;
box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.3);
}
.leftsole {
left: 55px;
transform: rotate(-5deg);
-moz-transform: rotate(-5deg);
-webkit-transform: rotate(-5deg);
}
.rightsole {
right: 55px;
transform: rotate(5deg);
-moz-transform: rotate(5deg);
-webkit-transform: rotate(5deg);
}
.leftsole .toe,.rightsole .toe {
width: 60px;
height: 22px;
background: #F07203;
border-radius: 50%;
border-top: 1px solid #872E0C;
}
.leftsole .toe {
transform: rotate(-20deg);
-moz-transform: rotate(-20deg);
-webkit-transform: rotate(-20deg);
border-left: 3px solid #872E0C;
}
.rightsole .toe {
right: 0;
transform: rotate(20deg);
-moz-transform: rotate(20deg);
-webkit-transform: rotate(20deg);
border-right: 3px solid #872E0C;
}