Pencil Jar

CSS Code
body {
background-color: #4F3824;
margin: 0;
padding: 0;
overflow-x: hidden;
}
.pencil-jar-wrapper {
position: relative;
margin: auto;
width: 100vw;
height: 80vw;
background: #B0DB43;
}
.shadow-back {
width: 20%;
height: 30%;
position: absolute;
top: 40%;
left: 53%;
background-color: rgba(0, 0, 0, 0.47);
box-shadow: 0 0 7vw 7vw rgba(0, 0, 0, 0.47);
border-radius: 20% 20% 0 0;
}
.pencil-jar {
width: 30%;
height: 50%;
position: absolute;
top: 30%;
left: 30%;
}
.pencil-jar .body {
width: 100%;
height: 100%;
position: absolute;
top: 0%;
left: 0%;
background: linear-gradient(to right, #DB2763, #b11e4f);
}
.pencil-jar .bottom {
width: 100%;
height: 30%;
position: absolute;
top: 85%;
left: 0%;
background: linear-gradient(to right, #DB2763, #b11e4f);
border-radius: 50%;
box-shadow: 0 0 7vw 0 rgba(0, 0, 0, 0.47);
}
.pencil-jar .top {
width: 100%;
height: 30%;
position: absolute;
top: -15%;
left: 0%;
background-color: #df3d73;
border-radius: 50%;
}
.pencil-jar .top::after {
content: " ";
display: block;
width: 90%;
height: 90%;
position: absolute;
top: 5%;
left: 5%;
background: linear-gradient(to left, #c72159, #9c1a45);
border-radius: 50%;
}
.table {
width: 100%;
height: 40%;
position: absolute;
top: 60%;
left: 0%;
background-color: #4F3824;
overflow: hidden;
}
.table .shadow-base {
width: 40%;
height: 40%;
position: absolute;
top: -10%;
left: 60%;
transform-origin: bottom left;
transform: rotate(-45deg);
background-color: rgba(0, 0, 0, 0.47);
box-shadow: 0 0 7vw 7vw rgba(0, 0, 0, 0.47);
}
.pencils-wrapper {
width: 27%;
height: 36.7%;
position: absolute;
top: 0%;
left: 31.5%;
border-radius: 0 0 50% 50%/0 0 18.5% 18.5%;
overflow-y: hidden;
}
.pencil {
width: 13%;
height: 100%;
position: absolute;
top: 40%;
left: 0%;
background: linear-gradient(to right, #FFD166 50%, #333 50%);
}
.pencil::before {
content: " ";
display: block;
width: 0%;
height: 0%;
border-style: solid;
border-width: 0 1.8vw 7.2vw 1.8vw;
border-color: transparent transparent #C9B482 transparent;
position: absolute;
top: -24%;
left: 0%;
}
.pencil::after {
content: " ";
display: block;
width: 0%;
height: 0%;
border-style: solid;
border-width: 0 0.5vw 2vw 0.5vw;
border-color: transparent transparent #1c1c1c transparent;
position: absolute;
top: -24%;
left: 35%;
}
.pencil.oblique.left {
transform: rotate(-20deg);
position: absolute;
top: 45%;
left: 25%;
}
.pencil.oblique.right {
transform: rotate(10deg);
position: absolute;
top: 40%;
left: 17%;
}
.pencil.short {
position: absolute;
top: 75%;
left: 35%;
transform: rotate(5deg);
}
.pencil.final {
position: absolute;
top: 60%;
left: 55%;
transform: rotate(-30deg);
}
HTML Code
<div class="pencil-jar-wrapper">
<div class="shadow-back"></div>
<div class="table">
<div class="shadow-base"></div>
</div>
<div class="pencil-jar">
<div class="bottom"></div>
<div class="body"></div>
<div class="top"></div>
</div>
<div class="pencils-wrapper">
<div class="pencil"></div>
<div class="pencil oblique right"></div>
<div class="pencil oblique left"></div>
<div class="pencil final"></div>
<div class="pencil short"></div>
</div>
</div>
LIVE PREVIEW
See the Pen CSS Gallery - Pencil Jar by Peternak Blog (@peternakblog) on CodePen.
Credit: Davide Francesco Merico



