JSFiddle - React, Tailwind, and code Playground
by sthag
HTML
<div id="sidebar">
<div>0<span class="meta">Gesamtzahl aller Gerichte</span></div>
<div style="background-color: #97c9c0;">
<span class="name">Würzige Rinderrouladen</span>
<span class="value">0</span>
<span class="meta"></span>
</div>
<div style="background-color: #be8cb7;"><span class="name">Vegane Bowl</span><span class="value">0</span><span class="meta"></span></div>
<div style="background-color: #8e9bed;"><span class="name">Finocchi gratinati</span><span class="value">0</span><span class="meta"></span></div>
<div style="background-color: #94a5e8;"><span class="name">Penne</span><span class="value">0</span><span class="meta"></span></div>
<div style="background-color: #b2928a;"><span class="name">Brotsalat</span><span class="value">0</span><span class="meta"></span></div>
<div style="background-color: #b18dba;"><span class="name">Weiß nicht</span><span class="value">0</span><span class="meta"></span></div>
</div>
SCSS
#sidebar {
display: flex;
flex-direction: column;
& > div {
position: relative;
width: 20rem;
display: flex;
align-items: center;
margin-bottom: 12px;
padding-inline: 10px;
font-weight: bold;
line-height: 1.1;
.meta {
position: absolute;
right: 5px;
bottom: 5px;
color: white;
text-align: right;
font-weight: normal;
}
}
div:first-child {
justify-content: center;
padding-block: .3em;
background-color: darkgrey;
font-size: 10em;
.meta {
font-size: .1em;
}
}
div:not(:first-child) {
display: flex;
align-items: baseline;
min-width: 0;
padding-block: .2em;
font-size: 5em;
.name {
flex: auto;
overflow: hidden;
min-width: 0;
font-size: .4em;
white-space: nowrap;
text-overflow: ellipsis;
}
.value {
flex: none;
}
.meta {
font-size: small;
}
}
}