<!-- My blog: https://albertwalicki.com -->
<!-- My Twitter: https://twitter.com/albertwalicki -->
<!-- Illustration inspiration https://i.pinimg.com/564x/ca/27/df/ca27dfdbc2d7f0e4691ef0ad813667c7.jpg -->
<div class="wrapper">
<div class="bee">
<div class="body">
<div class="wing wing1"></div>
<div class="wing wing2"></div>
</div>
<div class="eye eye1"></div>
<div class="eye eye2"></div>
<div class="sting"></div>
</div>
</div>
<div class="wrapper">
<div class="parrot">
<div class="body"></div>
<div class="wing"></div>
<div class="beak"></div>
<div class="eye"></div>
</div>
</div>
<div class="wrapper">
<div class="penguin">
<div class="body">
<div class="back"></div>
<div class="front"></div>
</div>
<div class="beak"></div>
<div class="eye"></div>
<div class="leg"></div>
</div>
</div>
<div class="wrapper">
<div class="owl">
<div class="body">
<div class="wing wing1"></div>
<div class="wing wing2"></div>
</div>
<div class="nose"></div>
<div class="eye eye1"></div>
<div class="eye eye2"></div>
<div class="legs leg1"></div>
<div class="legs leg2"></div>
</div>
</div>
* {
box-sizing: border-box;
--base-background: #fafafa;
--base-poster: #f2f0e7;
}
body {
display: flex;
align-items: center;
justify-content: center;
align-content: center;
flex-wrap: wrap;
padding: 10vmin;
min-height: 100vh;
background: var(--base-background);
}
.wrapper {
width: 200px;
height: 200px;
background: var(--base-poster);
display: flex;
align-items: center;
justify-content: center;
margin: 10px;
border: 5px ridge #d3d0c4;
box-shadow: 5px 7px 8px 2px rgba(161, 159, 151, 0.4);
}
.bee {
position: relative;
--wing: #b7e5dc;
--black: #39220d;
--yellow: #fbda3f;
.body {
width: 85px;
height: 106px;
border-radius: 40px;
position: relative;
background: linear-gradient(
var(--black) 40px,
var(--yellow) 40px,
var(--yellow) 50px,
var(--black) 50px,
var(--black) 60px,
var(--yellow) 60px,
var(--yellow) 70px,
var(--black) 70px,
var(--black) 80px,
var(--yellow) 80px
);
}
.wing {
position: absolute;
top: 40px;
width: 20px;
height: 40px;
background: var(--wing);
&.wing1 {
left: -20px;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
}
&.wing2 {
right: -20px;
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
}
}
.eye {
width: 20px;
height: 20px;
border-radius: 100%;
position: absolute;
top: 10px;
background: var(--black);
border: 5px solid #fff;
&.eye1 {
left: 20px;
}
&.eye2 {
right: 20px;
}
}
.sting {
width: 0;
height: 0;
border-style: solid;
border-width: 15px 5px 0 5px;
border-color: var(--black) transparent transparent transparent;
position: absolute;
bottom: -15px;
left: 0;
right: 0;
margin: 0 auto;
}
}
.parrot {
position: relative;
--body: #97c353;
--body-dark: #4b6f1b;
--beak: #fbad38;
--beak-dark: #f59435;
.body {
width: 85px;
height: 85px;
background: var(--body);
border-radius: 45% 0 45% 0;
}
.wing {
width: 40px;
height: 40px;
position: absolute;
bottom: 0;
left: 0;
border-radius: 50% 0 50% 0;
background: var(--body-dark);
}
.eye {
position: absolute;
top: 12px;
right: 12px;
border-radius: 50%;
width: 16px;
height: 16px;
background: var(--body-dark);
border: 4px solid #fff;
}
.beak {
position: absolute;
top: 0;
right: -20px;
background: var(--beak);
width: 20px;
height: 20px;
border-radius: 0 80% 0 0;
&:before {
content: "";
width: 10px;
height: 10px;
border-radius: 0 0 80% 0;
position: absolute;
bottom: -10px;
right: calc(20px - 10px);
background: var(--beak-dark);
}
}
}
.penguin {
position: relative;
--beak: #fbad38;
--beak-dark: #f59435;
--back: #000;
--front: #fff;
.body {
width: 75px;
height: 105px;
background: var(--front);
border-radius: 45% 0 45% 0;
overflow: hidden;
position: relative;
z-index: 1;
}
.back {
height: 105px;
width: 35px;
background: var(--back);
position: relative;
border-radius: 45% 0 30px 0;
&:before {
content: "";
position: absolute;
top: 0;
left: 35px;
width: 40px;
height: 50px;
background: var(--back);
}
&:after {
content: "";
position: absolute;
top: 0;
left: 35px;
width: 45px;
height: 50px;
background: var(--front);
border-radius: 40px 0 0 0;
}
}
.eye {
position: absolute;
top: 12px;
right: 4px;
border-radius: 100%;
border: 4px solid var(--beak-dark);
background: var(--back);
width: 16px;
height: 16px;
z-index: 2;
}
.beak {
position: absolute;
top: 0;
right: -20px;
background: var(--beak);
width: 20px;
height: 20px;
border-radius: 0 80% 0 0;
&:before {
content: "";
width: 10px;
height: 10px;
border-radius: 0 0 80% 0;
position: absolute;
bottom: -10px;
right: calc(20px - 10px);
background: var(--beak-dark);
}
}
.leg {
position: absolute;
bottom: 0;
right: 6px;
background: var(--beak);
width: 20px;
height: 8px;
border-radius: 0 60px 0 0;
}
}
.owl {
position: relative;
--body: #573822;
--body-dark: #38220d;
--body-light: #79604a;
--nose: #f89c2a;
--eye: #fff;
.body {
width: 100px;
height: 110px;
background: var(--body);
border-radius: 0 0 45% 45%;
position: relative;
overflow: hidden;
&:before {
content: "";
background: var(--body-light);
width: 80px;
height: 60px;
position: absolute;
bottom: -20px;
left: 0;
right: 0;
margin: 0 auto;
border-radius: 50%;
}
}
.wing {
width: 50px;
height: 50px;
background: var(--body-dark);
border-radius: 100%;
position: absolute;
bottom: 0;
&.wing1 {
left: -18px;
}
&.wing2 {
right: -18px;
}
}
.legs {
width: 10px;
height: 6px;
border-radius: 10px 10px 0 0;
background: var(--nose);
position: absolute;
&.leg1 {
left: 36px;
bottom: -3px;
}
&.leg2 {
right: 36px;
bottom: -3px;
}
}
.eye {
width: 40px;
height: 40px;
position: absolute;
top: 17px;
border-radius: 100%;
border: 10px solid var(--body-light);
background: var(--eye);
&:before {
content: "";
width: 10px;
height: 10px;
background: var(--nose);
position: absolute;
border-radius: 100%;
top: 5px;
left: 5px;
}
&.eye1 {
left: 4px;
}
&.eye2 {
right: 4px;
}
}
.nose {
width: 0;
height: 0;
border-style: solid;
border-width: 60px 50px 0 50px;
border-color: var(--body-dark) transparent transparent transparent;
position: absolute;
top: 0;
z-index: 2;
&:before {
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 10px 8px 0 8px;
border-color: var(--nose) transparent transparent transparent;
position: absolute;
left: -8px;
bottom: 0;
}
&:after {
content: "";
position: absolute;
top: -95px;
left: -55px;
height: 50px;
width: 110px;
background: var(--base-poster);
border-bottom-right-radius: 70%;
border-bottom-left-radius: 70%;
}
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.