I would use
- font size in
vw
units
- fixed
aspect-ratio
- the cut is implemented as a
background-image
.cut {
font-size: 3vw;
background: cyan;
aspect-ratio: 2/1;
background-image: url("data:image/svg+xml,%3C%3Fxml version= 1.0 encoding= utf-8 %3F%3E%3Csvg viewBox= 0 0 60 30 xmlns= http://www.w3.org/2000/svg %3E%3Cpath d= M 60 20 L 60 30 L 0 30 L 60 20 Z style= stroke: rgb(0, 0, 0); fill: rgb(255, 0, 0); stroke-width: 0px; /%3E%3C/svg%3E");
background-position: bottom;
background-repeat: no-repeat;
padding: 1em;
box-sizing: border-box;
}
<div class="cut">
One<br>
Two<br>
Three<br>
Four<br>
Five<br>
Six<br>
Seven<br>
Eight<br>
Nine<br>
Ten<br>
Eleven<br>
Twelve
</div>
After running the snippet, make sure to click the full page link to properly test the responsiveness.