<div class="guitar">
<div class="top"></div>
<div class="hole"></div>
<div class="neck">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="headstock"></div>
</div>
* {
margin: 0;
}
:root {
--background: #218c74;
--guitar: rgb(253, 207, 0);
--hole: rgb(48, 96, 132);
--hole-border: rgb(212, 142, 56);
--neck: rgb(144, 112, 74);
--fret: rgb(241, 228, 219);
--headstock: rgb(241, 177, 0);
}
body {
width: 100%;
height: 100vh;
background: var(--background);
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.guitar {
margin: 20vw 10vw 0 0;
width: 18vw;
height: 15vw;
background: var(--guitar);
border-radius: 15vw;
position: relative;
display: flex;
justify-content: center;
z-index: 2;
transform: rotate(30deg);
}
.top {
width: 15vw;
height: 12vw;
background: var(--guitar);
border-radius: 12vw;
position: absolute;
top: -10.5vw;
z-index: 1;
}
.top::before,
.top::after {
content: "";
position: absolute;
width: 7.35vw;
height: 6.75vw;
top: 7.5vw;
}
.top::before {
border-radius: 0 7.35vw 0 0;
transform: rotate(54deg);
left: -5.1vw;
box-shadow: 2.25vw -2.25vw var(--guitar);
}
.top::after {
right: -5.1vw;
border-radius: 7.35vw 0 0 0;
transform: rotate(-54deg);
box-shadow: -2.25vw -2.25vw var(--guitar);
}
.hole {
position: absolute;
width: 6vw;
height: 6vw;
border-radius: 50%;
background: var(--hole);
border: 1vw solid var(--hole-border);
z-index: 4;
}
.hole::before {
content: "";
position: absolute;
bottom: -3vw;
width: 6vw;
height: 1vw;
background: var(--neck);
}
.hole::after {
content: "";
position: absolute;
left: -2vw;
top: -2vw;
border-radius: 50%;
width: 8vw;
height: 8vw;
border: 1vw solid var(--guitar);
background: transparent;
}
.neck {
width: 3.5vw;
height: 20vw;
background: var(--neck);
position: absolute;
z-index: 4;
bottom: 16vw;
clip-path: polygon(5% 0, 95% 0, 100% 100%, 0 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
padding: 0.5vw 0;
}
.neck div {
background: var(--fret);
width: 80%;
height: 0.4vw;
border-radius: 0.4vw;
}
.headstock {
position: absolute;
top: -29vw;
background: var(--guitar);
width: 4.25vw;
height: 7vw;
z-index: 5;
border-radius: 1.5vw 1.5vw 0.5vw 0.5vw;
clip-path: polygon(5% 0, 95% 0, 100% 100%, 0 100%);
}
.headstock::before,
.headstock::after {
content: "";
position: absolute;
background: var(--headstock);
width: 0.75vw;
height: 5vw;
top: 1vw;
border-radius: 1vw;
}
.headstock::before {
left: 0.8vw;
transform: rotate(2.5deg);
}
.headstock::after {
right: 0.8vw;
transform: rotate(-2.5deg);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.