Это происходит потому, что вы поместили маркер в элемент списка (list-style-position:inside;
), а браузер контролирует пространство между маркером и контентом li
, а не вы.Internet Explorer выделяет больше места между маркером и содержимым, чем другие упомянутые вами браузеры.
Тот факт, что содержимое с отступами правильно выравнивается в Chrome / Safari / Firefox, объясняется тем, что все эти браузеры реализованы одинаково (или аналогично)расстояние между маркером и содержимым li, поэтому text-indent
из 1em
дает визуально непротиворечивый результат - , но на самом деле эта визуальная согласованность просто случайна .
(На самом деле, если вы внимательно посмотрите, вы заметите, что Firefox тоже немного отсутствует).
Если вы чувствуете, что необходимо отобразить маркер внутри элементов списка, вы можете использовать условный комментарий дляпередать разные значения text-indent
и padding-left
в IE (например, 1.5em
/ -1.5em
), но это не работает в IE10, который не поддерживает условные комментарии.
Лично я бы оставилмаркеры за пределами пунктов списка, так как я думаю, вам будет гораздо проще получить последовательный результат.