Energy Efficiency Label
by Daniel Cheung
HTML
<div class="efficiency" style="width: 400px; height: 400px">
<div class="bar a"><img class="arrow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="><div class="text">A</div></div>
<div class="bar b"><img class="arrow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="><div class="text">B</div></div>
<div class="bar c"><img class="arrow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="><div class="text">C</div></div>
<div class="bar d"><img class="arrow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="><div class="text">D</div></div>
<div class="bar e"><img class="arrow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="><div class="text">E</div></div>
<div class="bar f"><img class="arrow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="><div class="text">F</div></div>
<div class="bar g"><img class="arrow" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="><div class="text">G</div></div>
</div>
CSS
* { box-sizing: border-box; }
body {
font-family: Arial, sans-serif;
}
.efficiency {
border: 1px solid black;
}
.bar {
display: flex;
flex-direction: row;
align-items: center;
color: white;
height: calc(100% / 7 - 5px);
background: #3b7634;
margin-bottom: 5px; /* gap */
position: relative;
z-index: 0;
}
.bar > .text {
display: flex;
flex-direction: row;
align-items: center;
height: 100%;
width: 100%;
/* border: 2px solid black;
border-right: none; */
z-index: 1;
padding-left: 1rem;
font-size: 1.5rem;
font-weight: 700;
}
.a { width: 15%; background-color: #00A851 }
.b { width: 22%; background-color: #4FB947 }
.c { width: 29%; background-color: #C1D82D }
.d { width: 36%; background-color: #FEF200 }
.e { width: 43%; background-color: #FCBA0B }
.f { width: 50%; background-color: #F3711A }
.g { width: 57%; background-color: #EE141F }
.arrow {
height: calc(100% / 1.41421356237); /* square root 2 */
transform: translateX(-50%) rotate(45deg);
position: absolute;
left: 100%;
user-select: none;
background-color: inherit;
/* box-shadow: inset -2px 2px black; */
}