<!DOCTYPE html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8" />
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="main.css" />
</head>
<body>
<div class="container">
<div class="mini-mini-totoro">
<div class="ear ear-l"></div>
<div class="ear ear-r"></div>
<div class="eye eye-l"></div>
<div class="eye eye-r"></div>
</div>
<div class="mini-totoro">
<div class="head">
<div class="ear ear-l"></div>
<div class="ear ear-r"></div>
<div class="eye eye-l"></div>
<div class="eye eye-r"></div>
<div class="nose"></div>
</div>
<div class="arm arm-l"></div>
<div class="arm arm-r"></div>
<div class="belly">
<div class="arrow arrow-1"></div>
<div class="arrow arrow-2"></div>
<div class="arrow arrow-3"></div>
</div>
<div class="foot foot-l"></div>
<div class="foot foot-r"></div>
</div>
<div class="totoro">
<div class="head">
<div class="ear ear-l"></div>
<div class="ear ear-r"></div>
<div class="whisker whisker-l"></div>
<div class="whisker whisker-r"></div>
<div class="eye eye-l"></div>
<div class="eye eye-r"></div>
<div class="nose"></div>
<div class="mouth">
<div class="under"></div>
</div>
</div>
<div class="arm arm-l"></div>
<div class="finger finger-l"></div>
<div class="finger finger-r"></div>
<div class="arm arm-r"></div>
<div class="belly">
<div class="arrow arrow-1"></div>
<div class="arrow arrow-2"></div>
<div class="arrow arrow-3"></div>
<div class="arrow arrow-4"></div>
<div class="arrow arrow-5"></div>
<div class="arrow arrow-6"></div>
<div class="arrow arrow-7"></div>
</div>
<div class="foot foot-l"></div>
</div>
</div>
</body>
</html>
html,
body {
margin: 0px;
padding: 0px;
}
body {
background: url(https://www.wallpaperflare.com/static/619/548/909/fantasy-art-anime-studio-ghibli-my-neighbor-totoro-wallpaper.jpg);
display: flex;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
height: 100vh;
width: 100vw;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
}
.container {
width: 825px;
height: 410px;
position: relative;
}
.totoro {
display: block;
width: 299px;
height: 275px;
background-color: #a78d82;
border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
position: absolute;
bottom: 9px;
left: 436px;
.head {
display: block;
width: 217px;
height: 156px;
background-color: #a78d82;
border-radius: 50% 50% 0% 0% / 100% 100% 20% 20%;
position: absolute;
top: -65px;
left: 0;
right: 0;
margin: 0 auto;
.nose {
width: 25px;
height: 9px;
display: block;
background: #000;
position: absolute;
left: 96px;
top: 45px;
border-radius: 50%;
}
.ear {
width: 0;
height: 0;
border: 16px solid transparent;
border-bottom: 50px solid #a78d82;
position: relative;
left: 39px;
top: -77px;
-webkit-transform: rotate(350deg);
transform: rotate(355deg);
z-index: 5;
&:before {
content: "";
width: 14px;
height: 20px;
background: #a78d82;
display: block;
position: absolute;
top: 52px;
left: -6px;
}
&:after {
content: "";
position: absolute;
left: -16px;
top: 50px;
width: 0;
height: 0;
border: 16px solid transparent;
border-top: 20px solid #a78d82;
}
&-l {
}
&-r {
left: 150px;
top: -143px;
transform: rotate(370deg);
}
}
.mouth {
width: 0;
height: 0;
border-style: solid;
border-width: 20px 80px 0 80px;
border-color: #fff transparent transparent transparent;
position: absolute;
top: 74px;
left: 29px;
z-index: 3;
&:before {
content: "";
width: 164px;
height: 10px;
background: #fff;
border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
-webkit-transform-origin: 0 100%;
z-index: 4;
position: absolute;
left: -83px;
top: -25px;
}
.under {
&:before {
content: "";
width: 84px;
height: 10px;
background: #fff;
border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
transform: rotate(14deg);
-webkit-transform-origin: 0 100%;
z-index: 5;
position: absolute;
left: -83px;
top: -25px;
}
&:after {
content: "";
width: 88px;
height: 10px;
background: #fff;
border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
-webkit-transform: rotate(14deg);
transform: rotate(-13deg);
-webkit-transform-origin: 0 100%;
z-index: 5;
position: absolute;
left: -4px;
top: -5px;
}
}
}
.whisker {
width: 0;
height: 0;
border-style: solid;
border-width: 3px 68px 3px 0;
border-color: transparent black transparent transparent;
position: absolute;
left: -39px;
top: 36px;
transform: rotate(14deg);
&-r {
transform: rotate(180deg);
right: -44px;
left: unset;
top: 65px;
}
&:before {
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 3px 68px 3px 0;
border-color: transparent black transparent transparent;
position: absolute;
left: 0px;
top: 15px;
-webkit-transform: rotate(14deg);
transform: rotate(-13deg);
}
&:after {
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 3px 68px 3px 0;
border-color: transparent black transparent transparent;
position: absolute;
left: 4px;
top: 30px;
-webkit-transform: rotate(14deg);
transform: rotate(-22deg);
}
}
.eye {
width: 25px;
height: 25px;
display: block;
background: #fff;
border-radius: 50%;
position: absolute;
z-index: 9;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 2px solid #000;
&:before {
content: "";
display: block;
width: 12px;
height: 12px;
background: #000;
border-radius: 50%;
}
&:after {
content: "";
display: block;
width: 5px;
height: 5px;
background-color: #fff;
position: absolute;
border-radius: 50%;
}
&-l {
top: 33px;
left: 42px;
&:after {
right: 5px;
}
}
&-r {
top: 33px;
right: 42px;
&:after {
left: 5px;
}
}
}
}
.arm {
&-l {
width: 112px;
height: 190px;
background: #a78d82;
border-radius: 200% 0% 100% 83% / 94% 46% 49% 74%;
position: absolute;
top: -4px;
-webkit-transform: rotate(38deg);
transform: rotate(33deg);
left: -9px;
}
&-r {
width: 80px;
height: 300px;
background: #a78d82;
border-radius: 200% 200% 200% 200%;
transform: rotate(75deg);
top: -85px;
left: 175px;
position: absolute;
&:before {
content: "";
display: block;
width: 50px;
height: 30px;
background-color: #a78d82;
transform: rotate(103deg);
position: absolute;
left: -9px;
top: 79px;
}
}
}
.finger {
width: 0;
height: 0;
border-left: 16px solid transparent;
border-right: 20px solid transparent;
border-top: 40px solid #d3b3a6;
position: absolute;
z-index: -1;
&-l {
left: -25px;
transform: rotate(23deg);
bottom: 95px;
}
&-r {
right: -67px;
transform: rotate(-107deg);
top: 8px;
}
&:before {
content: "";
width: 0;
height: 0;
border-left: 16px solid transparent;
border-right: 20px solid transparent;
border-top: 40px solid #d3b3a6;
position: absolute;
bottom: 3px;
-webkit-transform: rotate(-10deg);
transform: rotate(6deg);
left: -25px;
}
&:after {
content: "";
width: 0;
height: 0;
border-left: 16px solid transparent;
border-right: 20px solid transparent;
border-top: 40px solid #d3b3a6;
position: absolute;
bottom: 3px;
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
left: -6px;
}
}
.belly {
width: 268px;
height: 220px;
border-radius: 50%;
background: #fff;
position: absolute;
bottom: 6px;
left: 15px;
position: absolute;
z-index: 2;
.arrow {
position: absolute;
&-1 {
top: 29px;
left: 66px;
}
&-2 {
left: 126px;
top: 29px;
}
&-3 {
left: 185px;
top: 29px;
}
&-4 {
left: 36px;
top: 68px;
}
&-5 {
left: 94px;
top: 68px;
}
&-6 {
left: 153px;
top: 68px;
}
&-7 {
left: 215px;
top: 68px;
}
&:before,
&:after {
position: absolute;
content: "";
width: 10px;
height: 30px;
background: #6187c5;
border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
transform: rotate(-60deg);
-webkit-transform-origin: 0 100%;
transform-origin: 0 0%;
}
&:after {
transform: rotate(60deg);
-webkit-transform-origin: 100% 100%;
transform-origin: 93% 0%;
}
}
}
.foot {
display: block;
width: 299px;
height: 155px;
background-color: #a78d82;
border-radius: 20% 20% 45% 45% / 30% 30% 100% 100%;
position: absolute;
bottom: -9px;
left: 0px;
overflow: hidden;
&:before {
content: "";
width: 35px;
height: 120px;
border-radius: 50% 50% 0% 0% / 100% 100% 0% 0%;
background: teal;
position: absolute;
bottom: -110px;
left: 127.5px;
}
}
}
.mini-totoro {
display: block;
width: 168px;
height: 183px;
background-color: #6187c5;
border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
position: absolute;
bottom: 6px;
left: 200px;
.head {
display: block;
width: 131px;
height: 92px;
background-color: #6187c5;
border-radius: 40% 40% 0% 0% / 100% 100% 20% 20%;
position: absolute;
top: -22px;
left: 0;
right: 0;
margin: 0 auto;
.ear {
width: 44px;
height: 120px;
border-radius: 50% 50% 0% 0% / 100% 100% 0% 0%;
background: #6187c5;
position: absolute;
&-l {
top: -25px;
left: 19px;
transform: rotate(-15deg);
}
&-r {
top: -25px;
right: 18px;
transform: rotate(15deg);
}
}
.eye {
width: 23px;
height: 18px;
display: block;
background: #fff;
border-radius: 50%;
position: absolute;
z-index: 9;
display: flex;
justify-content: center;
align-items: center;
border: 2px solid #000;
&:before {
content: "";
display: block;
width: 12px;
height: 9px;
background: #000;
border-radius: 50%;
}
&-l {
transform: rotate(-50deg);
top: 37px;
left: 24px;
}
&-r {
transform: rotate(50deg);
top: 37px;
right: 24px;
}
}
.nose {
width: 5px;
height: 3px;
display: block;
background: #000;
position: absolute;
left: 63px;
top: 51px;
border-radius: 50%;
}
}
.arm {
width: 40px;
height: 100px;
background: #6187c5;
border-radius: 65% 33% 45% 72% / 84% 36% 30% 39%;
position: absolute;
top: 7px;
&-l {
transform: rotate(38deg);
left: 1px;
}
&-r {
transform: scaleX(-1) rotate(38deg);
right: 1px;
}
}
.belly {
width: 130px;
height: 112px;
background: #fff;
border-radius: 50%;
bottom: 14px;
position: absolute;
left: 19px;
z-index: 1;
.arrow {
position: absolute;
&-1 {
left: 36px;
top: 25px;
}
&-2 {
left: 74px;
top: 13px;
}
&-3 {
right: 18px;
top: 25px;
}
&:before,
&:after {
position: absolute;
content: "";
width: 15px;
height: 30px;
background: #6187c5;
border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
-webkit-transform: rotate(-45deg);
transform: rotate(-35deg);
-webkit-transform-origin: 0 100%;
transform-origin: 0 100%;
}
&:after {
-webkit-transform: rotate(45deg);
transform: rotate(35deg);
-webkit-transform-origin: 100% 100%;
transform-origin: -6% -65%;
}
}
}
.foot {
width: 0;
height: 0;
border-left: 16px solid transparent;
border-right: 20px solid transparent;
border-top: 40px solid #6187c5;
position: absolute;
bottom: -9px;
transform: rotate(35deg);
&-l {
left: 15px;
}
&-r {
right: 15px;
transform: scaleX(-1) rotate(35deg);
left: unset;
}
&:before {
content: "";
width: 0;
height: 0;
border-left: 16px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #6187c5;
position: absolute;
bottom: 8px;
-webkit-transform: rotate(35deg);
transform: rotate(-9deg);
left: -6px;
}
&:after {
content: "";
width: 0;
height: 0;
border-left: 16px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #6187c5;
position: absolute;
bottom: 16px;
-webkit-transform: rotate(35deg);
transform: rotate(-9deg);
left: 7px;
}
}
}
.mini-mini-totoro {
display: block;
width: 126px;
height: 141px;
background-color: #fff;
border-radius: 40% 40% 40% 40% / 60% 60% 40% 40%;
position: absolute;
bottom: 0px;
left: 20px;
.ear {
width: 50px;
height: 120px;
border-radius: 50% 50% 0% 0% / 100% 100% 0% 0%;
background: #fff;
position: absolute;
// z-index: 1;
&-l {
top: -25px;
left: 9px;
}
&-r {
top: -25px;
right: 9px;
}
}
.eye {
width: 18px;
height: 18px;
background: #fff;
border-radius: 50%;
z-index: 2;
position: absolute;
border: 2px solid #000;
&:before {
content: "";
display: block;
width: 10px;
height: 10px;
background: #000;
border-radius: 50%;
margin-left: 4px;
margin-top: 4px;
}
&-l {
left: 33px;
top: 28px;
}
&-r {
right: 33px;
top: 28px;
}
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.