JSFiddle - React, Tailwind, and code Playground
HTML
<div class="list-group-item">
<h4>Short item</h4>
<p>I don't have that much content really</p>
<div class="ribbon">
<span>Ribbon</span>
</div>
</div>
<div class="list-group-item">
<h4>A much longer item</h4>
<p>I have a lot of content, because I have a Lorem ipsum in me</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dignissimos amet, minus maiores adipisci. Neque possimus, iusto odio explicabo. Libero, fugiat.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam, aliquid.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dignissimos amet, minus maiores adipisci. Neque possimus, iusto odio explicabo. Libero, fugiat.</p>
<div class="ribbon">
<span>Ribbon</span>
</div>
</div>
CSS
.list-group-item {
position:relative;
padding:20px;
padding-left:60px;
border:1px solid #ccc;
}
.ribbon {
position:absolute;
top:0;
left:0;
width:40px;
height:100%;
background:blue;
color:white;
}
.ribbon span {
display:block;
top:20%;
left:0.6em;
position: relative;
-ms-writing-mode: tb-rl; /* old syntax. IE */
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl; /* new syntax */
-webkit-text-orientation: upright;
-moz-text-orientation: upright;
-ms-text-orientation: upright;
text-orientation: upright;
}