JSFiddle - React, Tailwind, and code Playground
HTML
<div class="outer-div">
<div class="inner-div">
<span class="course-name">This grand expanse of text should be cut off</span>
</div>
</div>
<br><br>
<div class="outer-div" style="top: 75px;">
<div class="inner-div">
<span class="course-name">v-centered</span>
</div>
</div>
CSS
.outer-div, span {
width: 120px;
height: 45px;
}
.outer-div {
text-align: center;
display: table;
background-color: blue;
color: white;
}
.inner-div {
display: table-row;
vertical-align: middle;
}
span {
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
display: table-cell;
vertical-align:middle;
/* The line in question */
/* display: inline-block; */
}