Full Homer CSS
I made this Homer only with css3
<!--Matías Calvo - Full Homer CSS3 !-- >
<!-- Matías Calvo - Full Homer CSS3 !-->
<section class="content">
<ul>
<li class="hair"></li>
<li class="hair"></li>
</ul>
<div class="head">
<div class="left-hair"></div>
<div class="eyebrow"></div>
<div class="eye left"></div>
<div class="eye right"></div>
<div class="nose"></div>
<div class="mouth"></div>
<div class="ear"></div>
</div>
<div class="body">
<div class="neck"></div>
<div class="neck2"></div>
<div class="shirt">
<div class="shirt-1"></div>
<div class="shirt-2"></div>
</div>
<div class="shoulder left"></div>
<div class="shoulder right"></div>
<div class="arm left">
<ul class="left-hand">
<li class="finger left"></li>
<li class="finger left"></li>
<li class="finger left"></li>
</ul>
</div>
<div class="arm right">
<ul class="right-hand">
<li class="finger right"></li>
<li class="finger right"></li>
<li class="finger right"></li>
</ul>
</div>
</div>
<div class="waist"></div>
<div class="leg left"></div>
<div class="leg right"></div>
<div class="shoe left"></div>
<div class="shoe right"></div>
</section>
/* Matías Calvo -Full Homer CSS3 */
/* Matías Calvo - Full Homer CSS3 */
ol,ul, li {
list-style: none;
}
.content {
margin: 5% 0 0 40%;
}
.hair {
width: 55px;
height: 28px;
border-top: 3px solid black;
border-left: 2px solid black;
border-right: 2px solid black;
border-top-left-radius: 50% 100%;
border-radius-topleft: 50% 100%;
border-top-left-radius: 50% 100%;
border-top-right-radius: 50% 100%;
border-radius-topright: 50% 100%;
border-top-right-radius: 50% 100%
transform: rotate(-20deg);
transform: rotate(-20deg);
transform: rotate(-20deg);
display: inline-block;
position: relative;
}
.hair:first-child {
top: 45px;
left: -40px;
z-index: 0;
}
.hair:nth-child(2) {
top: 39px;
left: -85px;
z-index: 1;
}
.head {
width: 120px;
height: 165px;
background-color: #FCDB00;
border-top-left-radius: 70% 50%;
border-radius-topleft: 70% 50%;
border-top-left-radius: 70% 50%;
border-top-right-radius: 70% 50%;
border-radius-topright: 70% 50%;
border-top-right-radius: 70% 50%;
border-bottom-left-radius: 10% 80%;
border-radius-bottomleft: 10% 80%;
border-bottom-left-radius: 10% 80%;
border-top: 2px solid black;
border-left: 2px solid black;
border-right: 2px solid black;
transform: rotate(-10deg);
transform: rotate(-10deg);
transform: rotate(-10deg);
position: relative;
z-index: 3;
}
.left-hair {
width: 10px;
height: 25px;
border-top: 4px solid black;
border-left: 3px solid black;
position: relative;
top: 110px;
left: -10px;
transform: skewY(59deg);
}
.left-hair:before {
width: 15px;
height: 40px;
border-top: 4px solid black;
border-left: 2px solid black;
transform: rotate(10deg);
transform: rotate(10deg);
transform: rotate(10deg);
content: '';
position: absolute;
left: 12px;
top: -44px;
}
.eyebrow {
width: 15px;
height: 20px;
background-color: #FCDB00;
transform: rotate(7deg);
transform: rotate(7deg);
transform: rotate(7deg);
border-top-right-radius: 90% 80%;
border-radius-topright: 90% 80%;
border-top-right-radius: 90% 80%;
border-top: 2px solid black;
border-right: 2px solid black;
position: relative;
left: 118px;
top: 45px;
}
.eye {
width: 60px;
height: 60px;
position: relative;
background-color: white;
border: 2px solid black;
border-radius: 60%;
}
.eye:after {
background-color: #000000;
border-radius: 100%;
border-radius: 100%;
border-radius: 100%;
content: '';
display: block;
position: relative;
}
.eye.left {
top: 30px;
left: 45px;
z-index: 4;
width: 60px;
height: 60px;
}
.eye.right {
top: -30px;
left: 90px;
width: 53px;
height: 53px
}
.eye.left:after,
.eye.right:after
{
width: 8px;
height: 8px;
top: 25px;
left: 30px;
}
.eye.left:after {
animation: move 2s;
animation-timing-function:linear;
animation-iteration-count:infinite;
}
.nose {
width: 58px;
height: 24px;
transform: rotate(10deg);
transform: rotate(10deg);
transform: rotate(10deg);
border-top-right-radius: 30% 60%;
border-radius-topright: 30% 60%;
border-top-right-radius: 30% 60%;
border-bottom-right-radius: 30% 60%;
border-radius-bottomright: 30% 60%;
border-bottom-right-radius: 30% 60%;
background-color: #FCDB00;
border-top: 2px solid black;
border-right: 2px solid black;
/*border-bottom: 2px solid black;*/
position: relative;
left: 70px;
top: -40px
}
.mouth {
width: 80px;
height: 80px;
transform: rotate(10deg);
transform: rotate(10deg);
transform: rotate(10deg);
background-color: #D1B270;
border: 2px solid black;
border-top-left-radius: 60% 60%;
border-radius-topleft: 60% 60%;
border-top-left-radius: 60% 60%;
border-bottom-right-radius: 60% 40%;
border-radius-bottomright: 60% 60%;
border-bottom-right-radius: 60% 40%;
border-bottom-left-radius: 60% 60%;
border-radius-bottomleft: 60% 60%;
border-bottom-left-radius: 60% 60%;
position: relative;
top: -48px;
left: 16px;
}
.mouth:after {
width: 12px;
height: 12px;
content: '';
display: block;
border-bottom-right-radius: 90% 80%;
border-radius-bottomright: 90% 80%;
border-bottom-right-radius: 90% 80%;
border-top-right-radius: 20%;
border-radius-topright: 20%;
border-top-right-radius: 20%;
background-color: #D1B270;
border-right: 2px solid black;
border-bottom: 2px solid black;
border-top: 2px solid black;
position: relative;
top: -4px;
left: 76px
}
.mouth:before {
width: 80px;
height: 50px;
content: '';
display: block;
border-top-right-radius: 60% 90%;
border-radius-topright-: 60% 90%;
border-top-right-radius: 60% 90%;
border-bottom-right-radius: 60% 50%;
border-radius-bottomright-: 60% 50%;
border-bottom-right-radius: 60% 50%;
border-bottom-left-radius: 40% 20%;
border-radius-bottomleft-: 40% 20%;
border-bottom-left-radius: 40% 20%;
background-color: #D1B270;
border-top: 2px solid black;
border-bottom: 2px solid black;
border-right: 2px solid black;
position: relative;
top: -2px;
left: 40px
}
.ear {
width: 30px;
height: 30px;
transform: rotate(-50deg);
transform: rotate(-50deg);
background-color: #FCDB00;
border-top: 2px solid black;
border-left: 2px solid black;
border-radius: 50%;
position: relative;
top: -154px;
left: -14px;
}
.ear:after {
width: 10px;
height: 12px;
content: '';
background-color: #FCDB00;
border-top-right-radius: 80% 80%;
border-radius-topright: 80% 80%;
border-top-right-radius: 80% 80%;
border-right: 2px solid black;
position: absolute;
left: 7px;
top: 8px;
}
.ear:before {
width: 10px;
height: 12px;
content: '';
background-color: #FCDB00;
border-top-left-radius: 80% 80%;
border-radius-topleft: 80% 80%;
border-top-left-radius: 80% 80%;
border-top: 2px solid black;
position: absolute;
left: 7px;
top: 11px;
z-index: 1;
}
.neck {
width: 90px;
height: 80px;
background-color: #FCDB00;
border: 2px solid black;
position: relative;
left: 18px;
z-index: -1;
}
.neck2 {
width: 50px;
height: 28px;
content: '';
border-bottom: 2px solid black;
border-right: 2px solid black;
position: relative;
top: -22px;
left: 65px;
transform: rotate(40deg);
transform: rotate(40deg);
background-color: #FCDB00;
z-index: 1;
}
.shirt-1 {
width: 65px;
height: 40px;
background-color: #FFF;
border: 2px solid black;
transform: rotate(10deg);
transform: rotate(10deg);
border-bottom-left-radius: 20% 40%;
border-radius-bottomleft: 20% 40%;
border-bottom-left-radius: 20% 40%;
border-top-left-radius: 20% 40%;
border-radius-topleft: 20% 40%;
border-top-left-radius: 20% 40%;
position: relative;
top: -50px;
left: -4px;
z-index: 1;
}
.shirt-1:after {
width: 15px;
height: 30px;
content: '';
background-color: #FFF;
border-top-left-radius: 80% 80%;
border-radius-topleft: 80% 80%;
border-top-left-radius: 80% 80%;
border-top: 2px solid black;
border-left: 2px solid black;
position: absolute;
top: -15px;
left: -2px;
}
.shirt-1:before {
width: 20px;
height: 32px;
content: '';
background-color: #FFF;
transform: rotate(-10deg);
transform: rotate(-10deg);
border-top-right-radius: 80% 80%;
border-radius-topright: 80% 80%;
border-top-right-radius: 80% 80%;
border-top: 2px solid black;
border: 2px solid black;
position: absolute;
top: -22px;
left: 109px;
z-index: -;
}
.shirt-2:before {
width: 245px;
height: 155px;
content: '';
border-top-right-radius: 50% 100%;
/*-moz-border-radius-topright: 50% 100%;
border-top-right-radius: 50% 100%;*/
border-top-left-radius: 10% 70%;
border-radius-topleft: 10% 70%;
border-top-left-radius: 10% 70%;
border-bottom-right-radius: 50% 20%;
/*-moz-border-radius-bottomright: 50% 20%;
border-bottom-right-radius: 50% 20%;*/
border-bottom-left-radius: 50% 20%;
border-radius-bottomleft: 50% 20%;
border-bottom-left-radius: 50% 20%;
border: 2px solid black;
position: absolute;
top: 115px;
left: -30px;
background-color: #FFF;
z-index: -1;
}
.shirt-2 {
width: 150px;
height: 124px;
border-top-right-radius: 50% 100%;
border-radius-topright: 50% 100%;
border-top-right-radius: 50% 100%;
border-top-left-radius: 20% 50%;
border-radius-topleft: 20% 50%;
border-top-left-radius: 20% 50%;
border-top: 2px solid black;
border-left: 2px solid black;
border-right: 2px solid black;
position: relative;
top: -86px;
left: 4px;
background-color: #FFF;
}
.shoulder {
border-top-left-radius: 50% 90%;
border-radius-topleft: 50% 90%;
border-top-left-radius: 50% 90%;
border-top-right-radius: 50% 90%;
border-radius-topright: 50% 90%;
border-top-right-radius: 50% 90%;
border-bottom-left-radius: 50% 20%;
border-radius-bottomleft: 50% 20%;
border-bottom-left-radius: 50% 20%;
border-bottom-right-radius: 50% 20%;
border-radius-bottomright: 50% 20%;
border-bottom-right-radius: 50% 20%;
background-color: #FFFFFF;
border: 2px solid black;
position: relative;
}
.shoulder.left {
width: 90px;
height: 80px;
transform: rotate(10deg);
top: -170px;
left: -50px;
z-index: 2;
}
.shoulder.right {
width: 80px;
height: 60px;
top: -240px;
left: 95px;
z-index: -1;
}
.arm {
background-color: #FCDB00;
position: relative;
border: 2px solid black;
}
.arm.left {
width: 70px;
height: 200px;
border-top-left-radius: 20% 40%;
border-radius-topleft: 20% 40%;
border-top-left-radius: 20% 40%;
border-bottom-left-radius: 30% 80%;
border-radius-bottomleft: 30% 80%;
border-bottom-left-radius: 30% 80%;
border-bottom-right-radius: 10% 40%;
border-radius-bottomright: 10% 40%;
border-bottom-right-radius: 10% 40%;
top: -260px;
left: -50px;
z-index: 0;
}
.arm.left {
animation: move-arm 2s;
animation-timing-function:linear;
animation-iteration-count:infinite;
}
.shoulder.left {
animation: move-shoulder 2s;
animation-timing-function:linear;
animation-iteration-count:infinite;
}
.arm.right {
width: 40px;
height: 60px;
top: -480px;
left: 130px;
z-index: -2;
}
.finger {
height: 40px;
background-color: #FCDB00;
position: relative;
border-left: 2px solid black;
border-right: 2px solid black;
border-bottom: 2px solid black;
}
.finger:nth-child(1) {
width: 18px;
border-top-left-radius: 30% 10%;
border-top-right-radius: 20% 10%;
border-bottom-left-radius: 50% 50%;
border-bottom-right-radius: 50% 50%;
transform: rotate(17deg);
left: -36px;
top: 175px;
z-index: 2;
}
.finger:nth-child(2) {
width: 19px;
border-top-right-radius: 20% 10%;
border-radius-topright: 20% 10%;
border-top-right-radius: 20% 10%;
border-bottom-left-radius: 50% 50%;
border-radius-bottomleft: 50% 50%;
border-bottom-left-radius: 50% 50%;
border-bottom-right-radius: 50% 50%;
border-radius-bottomright: 50% 50%;
border-bottom-right-radius: 50% 50%;
transform: rotate(17deg);
transform: rotate(17deg);
left: -18px;
top: 139px;
z-index: 1;
}
.finger:nth-child(3) {
width: 19px;
border-top-right-radius: 20% 20%;
border-top-right-radius: 20% 20%;
border-radius-topright: 20% 20%;
border-bottom-left-radius: 40% 40%;
border-radius-bottomleft: 40% 40%;
border-bottom-left-radius: 40% 40%;
border-bottom-right-radius: 60% 40%;
border-radius-bottomright: 60% 40%;
border-bottom-right-radius: 60% 40%;
transform: rotate(17deg);
transform: rotate(17deg);
border-left: none;
left: 4px;
top: 95px;
z-index: 0;
}
.waist {
width: 220px;
height: 100px;
border-bottom-right-radius: 50% 90%;
border-radius-bottomright: 50% 90%;
border-bottom-right-radius: 50% 90%;
background-color: #2B4FD0;
border-right: 2px solid black;
border-left: 2px solid black;
position: relative;
top: -380px;
left: -20px;
z-index: -2;
}
.leg.left {
width: 110px;
height: 200px;
border-top-right-radius: 20% 10%;
border-radius-topright: 20% 10%;
border-top-right-radius: 20% 10%;
position: relative;
top: -400px;
left: -20px;
border: 2px solid black;
border-top: none;
background-color: #2B4FD0;
z-index: -1;
}
.leg.left:after {
width: 110px;
content: '';
position: absolute;
top: 180px;
border-top: 2px solid black;
background-color: #2B4FD0;
}
.leg.right {
width: 97px;
height: 200px;
position: relative;
top: -630px;
left: 80px;
border: 2px solid black;
background-color: #2B4FD0;
z-index: -3;
}
.leg.right:after {
width: 97px;
content: '';
position: absolute;
top: 180px;
border-top: 2px solid black;
background-color: #2B4FD0;
}
.shoe {
width: 120px;
height: 60px;
border-bottom-right-radius: 80% 50%;
border-radius-bottomright: 80% 50%;
border-bottom-right-radius: 80% 50%;
border-top-right-radius: 70% 50%;
border-radius-topright: 70% 50%;
border-top-right-radius: 70% 50%;
transform: rotate(15deg);
transform: rotate(15deg);
border: 2px solid black;
position: relative;
background-color: #4D524E;
}
.shoe:after {
width: 40px;
height: 56px;
content: '';
border-top-left-radius: 30% 30%;
border-radius-topleft: 30% 30%;
border-top-left-radius: 30% 30%;
border-bottom-right-radius: 30% 20%;
border-radius-bottomright: 30% 20%;
border-bottom-right-radius: 30% 20%;
border-bottom-left-radius: 10% 20%;
border-radius-bottomleft: 10% 20%;
border-bottom-left-radius: 10% 20%;
transform: rotate(-10deg);
transform: rotate(-10deg);
border: 2px solid black;
border-right: none;
background-color: #4D524E;
position: absolute;
top: 15px;
left: -30px;
}
.shoe.left {
top: -610px;
left: 7px;
z-index: -2;
}
.shoe.right {
top: -699px;
left: 110px;
z-index: -4;
}
/* -- Eye iris movement -- */
@-webkit-keyframes move {
0% { transform: translate3d(0, 0, 0); }
25% { transform: translate3d(-200%, 0, 0); }
50% { transform: translate3d(-100%, 0, 0); }
50% { transform: translate3d(100%, 0, 0); }
75% { transform: translate3d(150%, 0, 0); }
100% { transform: translate3d(0, 0, 0); }
}
@-moz-keyframes move {
0% { transform: translate3d(0, 0, 0); }
25% { transform: translate3d(-200%, 0, 0); }
50% { transform: translate3d(-100%, 0, 0); }
50% { transform: translate3d(100%, 0, 0); }
75% { transform: translate3d(150%, 0, 0); }
100% { transform: translate3d(0, 0, 0); }
}
@keyframes move {
0% { transform: translate3d(0, 0, 0); }
25% { transform: translate3d(-200%, 0, 0); }
50% { transform: translate3d(-100%, 0, 0); }
50% { transform: translate3d(100%, 0, 0); }
75% { transform: translate3d(150%, 0, 0); }
100% { transform: translate3d(0, 0, 0); }
}
/* -- Left arm movement -- */
@-webkit-keyframes move-arm {
0% { }
25% { top: -270px }
50% { transform: rotate(-30deg); left: 25px; }
75% { top: -270px }
100% { }
}
@-moz-keyframes move-arm {
0% { }
25% { top: -270px }
50% { transform: rotate(-30deg); left: 25px; }
75% { top: -270px }
100% { }
}
@keyframes move-arm {
0% { }
25% { top: -270px }
50% { transform: rotate(-30deg); left: 25px; }
75% { top: -270px }
100% { }
}
/* -- Left shoulder movement -- */
@-webkit-keyframes move-shoulder {
0% { transform: rotate(10deg); }
25% { transform: rotate(0); }
50% { transform: rotate(-20deg); left: -35px;}
75% { transform: rotate(0); }
100% { transform: rotate(10deg); }
}
@-moz-keyframes move-shoulder {
0% { transform: rotate(10deg); }
25% { transform: rotate(0); }
50% { transform: rotate(-20deg); left: -35px;}
75% { transform: rotate(0); }
100% { transform: rotate(10deg); }
}
@keyframes move-shoulder {
0% { transform: rotate(10deg); }
25% { transform: rotate(0); }
50% { transform: rotate(-20deg); left: -35px;}
75% { transform: rotate(0); }
100% { transform: rotate(10deg); }
}