Но верстать контентные картинки через бэкграунд очень нехорошо
смотря как. я к примеру в ситуациях когда реально стилизовать img уже никак не получается - делаю так:
в блоке ставлю < img > и задаю ему display: none; а потом через js беру атрибут src у этого img и вставляю его бэкраундом для блока. тобишь структура остается такой же, но при этом картинка стоит через bg - и можно стилизовать как нужно.