Я написал код, который автоматически создает CSS-спрайты на основе тегов IMG на странице и заменяет их на DIV на (как я думал, был) соответствующий CSS, чтобы расположить изображение спрайта в качестве фона, пропуская соответствующую часть сквозь - проблема в том, что я не могу заставить DIV вести себя как замена замен для IMG.
Если я оставлю значение по умолчанию 'display', установленное на 'block', тогда, если исходное IMG было расположено в конце некоторого текста, замещающий DIV будет переходить к следующей строке после текста (что, конечно, то, что я будет ожидать что-то с display: block, чтобы сделать).
Если я изменю «отображение» на встроенное, то DIV остается на той же строке, что и текст, но игнорирует установленные мной «ширину» и «высоту» и сворачивается. Я попытался поместить внутри DIV, но тогда он занимает достаточно ширины, чтобы вместить NBSP.
Я попытался поэкспериментировать с настройкой отображения для всех возможных значений (включая такие «непонятные», как «таблица-строка», «обкатка», «компакт» и т. Д.), Но все безуспешно. Можно ли даже создать DIV с тем же поведением макета, что и IMG?
Я открыт для того, чтобы иметь что-то более сложное, чем просто один DIV, однако я попробовал очевидные вещи там (один DIV внутри другого, где внутренний DIV настроен на отображение: блок с внешним, настроенным на отображение: inline) но я не нашел там комбинации, которая тоже работает.
Всегда есть определенные вещи, которые я могу сделать за пределами замененного IMG / DIV, чтобы получить нужный макет, но моя цель - иметь общий механизм автоматического CSS-спрайта, который работает независимо от остального HTML.