Мне кажется, это ошибка. Просто потому, что в соответствии с инструментами chrome dev стиль фактически устанавливается. Похоже, что он неправильно вычисляет поток элемента.
Кроме того, я не думаю, что когда-либо считалось правильным, чтобы набор стилей через javascript действовал иначе, чем набор стилей с таблицей стилей. Кроме того, другие браузеры, такие как Firefox, работают, как и ожидалось.
Так что я бы доложил об этом людям: -).
EDIT
В одном я не уверен на 100%, что вы помещаете <div>
внутрь <span>
, что, я думаю, недопустимо. Поэтому, в конце концов, это может быть причиной того, что не существует такого понятия, как «правильное» поведение, поскольку вы нарушаете правила.
Изменение <span>
на <div>
заставляет вещь действовать как ожидалось. Так что это, вероятно, ваше решение.