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 {
font: 16px/1.2 "Times New Roman", serif;
max-width: 500px;
padding-left: 80px;
padding-right: 20px;
}
p {
position: relative;
}
em[data-ref] {
border-bottom: 1px solid #F0C000;
display: inline-block;
}
em[data-ref]::before {
content: '[' attr(data-ref) ']';
font-size: 12px;
color: #777;
font-style: normal;
position: absolute;
left: -60px;
text-align: right;
display: block;
width: 50px;
}
figure {
margin: 0;
position: relative;
width: 100%;
max-width: 350px;
min-width: 150px;
}
img[src="http://lorempixel.com/350/250/cats"] {
display: block;
width: 100%;
max-width: 350px;
min-width: 150px;
}
figcaption {
background-color: rgba(0, 0, 0, 0.6);
height: 60px;
width: 100%;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
position: absolute;
bottom: 0;
color: #fff;
padding: 5px 10px;
font-size: 26px;
}
.subtitle {
display: block;
font-size: 14px;
color: #ddd;
}