JSFiddle - React, Tailwind, and code Playground
HTML
<p>Предсказуемость непредсказуема. Предсказуемость непредсказуема. Предсказуемость непредсказуема. Предсказуемость непредсказуема. Предсказуемость <em data-ref="1">непредсказуема и недоказуема</em>. Предсказуемость непредсказуема. Предсказуемость непредсказуема. Предсказуемость совсем ни разу не <em data-ref="2, 3, 4">непредсказуема</em>. Предсказуемость непредсказуема. Предсказуемость непредсказуема. Предсказуемость непредсказуема. </p>
<p>Однако, здравствуйте.</p>
<figure>
<figcaption>
A cute cat
<span class="subtitle">is in the picture</span>
</figcaption>
<img src="http://lorempixel.com/350/250/cats" alt="A cute Kitten">
</figure>
CSS
body {
max-width: 500px; padding-left: 80px; padding-right: 20px;
font-family: 'Times New Roman', Arial, Helvetica, sans-serif;
font-size: 15px;
}
em:before {
content:" [" attr(data-ref) "] ";
font-style: normal;
color: grey;
border-bottom: solid 1px white;
position: absolute;
left: -60px;
}
em {
border-bottom: solid 1px yellow;
}
figure, p {
position: relative;
}
figure {
max-width: 100%;
display: inline-block;
}
figcaption {
box-sizing: border-box;
background-color: rgba(192, 192, 192, 0.3);
position: absolute;
bottom: 0px;
width: 100%;
padding: 10px;
z-index: 1; //Не уверен что это свойство необходимо.
font-weight: 300;
color: white;
font-size: 24px;
}
.subtitle {
display: block;
font-weight: normal;
font-size: 15px;
}
figure > img {
display: block;
box-sizing: border-box;
max-width: 100%;
}