Здесь только одна проблема — нижние строки съедают тех, что выше. В примере у «р» ногу отгрызли. Но если конкретные размеры выделения не критичны, то можно подогнать.
Ну и фиксированная ширина для кого-то может быть проблемой.
Мой вариант. Поддерживается автоматический перенос строк, минимум разметки и стилей. Нужна всего одна обертка, а не для каждого слова как предлагают выше. https://codepen.io/mdss/pen/XzbVqV
Stalker_RED, Ваш код в JsFiddle тоже сарказм? Просто вы этот бедный span просто тупо не влезает в рамки и переносится на новую строку от безысходности XD
Алексей Уколов, задача решается одним инлайновым span'ом (либо через display к тому что было, не важно) с красным фоном и padding с line-height для красоты и br по необходимости. Но судя по скринам, br там и так в коде присутствовал.
Без before, без js, без всяких там неизвестных фантастических свойств и библиотек.
Ankhena, все зависит от того, какая у задачи точная формулировка и насколько нужно соответствовать макетам. У большинства задач в нашей сфере есть не одно решение иу каждого свои достоинства и недостатки.