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;
}
em[data-ref]::before {
    content: '[' attr(data-ref) ']';
    font-size: 12px;
    color: #777;
    font-style: normal;
    position: absolute;
    left: -60px;
    text-align: right;
    width: 50px;
    margin-top: 3px;
}
figure {
    margin: 0;
    position: relative;
    min-width: 150px;
    display: inline-block;
}
figure img {
    display: block;
    width: 100%;
    min-width: 150px;
}
figcaption {
    background-color: rgba(0, 0, 0, 0.6);
    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;
    margin-top: -3px;
    font-size: 14px;
    color: #ddd;
}