<div class="paper"></div>
<div class="clip">
<div class="eye"></div>
<div class="eye"></div>
</div>
<div class="popup">
It looks like you are trying to do some CSS Art. Do you need some help?
</div>
<a id="youtube" href="https://youtu.be/51ZJ5iResvw" target="_blank">
<span>See how this drawing was made</span>
</a>
body {
perspective: 1000px;
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
}
.clip {
position: absolute;
bottom: 10vmin;
left: 10vmin;
width: 9vmin;
height: 12vmin;
border: 1vmin solid #aaa;
border-top: 0;
border-radius: 0 0 10vmin 10vmin;
box-sizing: border-box;
}
.clip::before {
content: "";
display: block;
position: absolute;
top: -15vmin;
left: -1vmin;
width: 7.75vmin;
height: 15vmin;
border: 1vmin solid #aaa;
border-bottom: 0;
border-radius: 10vmin 10vmin 0 0;
box-sizing: border-box;
}
.clip::after {
content: "";
display: block;
position: absolute;
top: -2.5vmin;
left: 0.25vmin;
width: 6.5vmin;
height: 9vmin;
border: 1vmin solid #aaa;
border-top: 0;
border-radius: 0 0 10vmin 10vmin;
box-sizing: border-box;
}
.eye {
position: absolute;
top: -75%;
left: -35%;
width: 75%;
height: 35%;
background: white;
border-radius: 50%;
z-index: 1;
background-image: radial-gradient(circle, black 15%, transparent 0);
box-shadow:
inset 0 1.25vmin 0 -0.5vmin #aaa,
inset 0 0 1vmin #aaa
}
.eye::before {
content: "";
display: block;
position: absolute;
top: -20%;
width: 100%;
height: 90%;
border-radius: 50%;
box-shadow: -0.25vmin -1vmin 0 -0.25vmin black;
}
.eye + .eye {
left: 45%;
}
.eye + .eye::before {
box-shadow: 0.25vmin -1vmin 0 -0.25vmin black;
}
.paper {
width: 18vmin;
height: 24vmin;
background: #f8f8d0;
background-image:
linear-gradient(to right, transparent 15%, #f64 0 16%, transparent 0),
repeating-linear-gradient(transparent 0 9%, #6ba 0 9.25%);
position: absolute;
transform: rotateY(25deg) rotateX(75deg) rotateZ(-30deg);
bottom: 2vmin;
left: 5vmin;
}
.popup {
position: absolute;
bottom: 35vmin;
left: 20vmin;
width: 30vmin;
padding: 2vmin;
background: #ffc;
border-radius: 1vmin;
border: 0.375vmin solid #666;
font-size: 3vmin;
font-family: Tahoma, "Courier New", Courier, sans-serif;
line-height: 1.25;
}
.popup::before {
content: "";
display: block;
position: absolute;
top: 100%;
left: 10%;
width: 6vmin;
height: 6vmin;
border-left: 0.375vmin solid #666;
background-image: linear-gradient(-45deg, transparent 50%, #666 0 54%, #ffc 0);
transform: skew(-30deg);
}
/***/
#youtube {
z-index: 2;
display: block;
width: 100px;
height: 70px;
position: absolute;
top: 10px;
right: 30px;
background: red;
border-radius: 50% / 11%;
transition: transform 0.5s;
}
#youtube:hover,
#youtube:focus {
transform: scale(1.1);
}
#youtube::before {
content: "";
display: block;
position: absolute;
top: 7.5%;
left: -6%;
width: 112%;
height: 85%;
background: red;
border-radius: 9% / 50%;
}
#youtube::after {
content: "";
display: block;
position: absolute;
top: 20px;
left: 40px;
width: 45px;
height: 30px;
border: 15px solid transparent;
box-sizing: border-box;
border-left: 30px solid white;
}
#youtube span {
font-size: 0;
position: absolute;
width: 0;
height: 0;
overflow: hidden;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.