JSFiddle - React, Tailwind, and code Playground
HTML
<p class="video">
<img src="http://lorempixel.com/300/150/" alt="">
<span class="legend">Britney Spears - Megamix (2016 Billboard Music Awards Performance)</span>
</p>
<p class="video">
<img src="http://lorempixel.com/300/150/" alt="">
<span class="legend">Morbi a metus. Phasellus enim erat, vestibulum vel, a metus enim aliquam orbi leo mi, nonummy eget</span>
</p>
<p class="video">
<img src="http://lorempixel.com/300/150/" alt="">
<span class="legend">Morbi leo mi, nonummy eget, tristique non, rhoncus non, leo. Nullam faucibus mi</span>
</p>
<p class="video">
<img src="http://lorempixel.com/300/150/" alt="">
<span class="legend">Praesent in mauris eu</span>
</p>
CSS
.video{
width: 300px;
height: 150px;
position: relative;
background: #616161;
}
.video .legend{
font: normal 13px Arial;
line-height: 13px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: inline-block;
position: absolute;
right: 0;
bottom: 0;
left: 0;
padding: 2px 8px;
text-align: center;
color: #FFFFFF;
background: rgba(20, 20, 20, 0.8);
opacity: 0.7;
transition: max-height 1s, opacity 0.5s;
line-height: 18px;
max-height: 18px;
}
.video:hover .legend{
background: rgba(0, 0, 0, 0.9);
opacity: 1;
white-space: normal;
max-height: 60px;
}