Для корректного отображения ширины содержимого в браузере можно попробовать следующие способы:
1. Проверить CSS стили, которые могут быть применены к элементам, влияющие на их ширину (например, padding, margin, width).
2. Использовать инструменты разработчика браузера для изучения стилей элементов и их расчета.
3. Установить явное значение ширины для элементов, чтобы избежать неожиданных изменений.
Что касается отображения элементов с высотой 2px, разные элементы могут отображаться по-разному из-за различий в способах рендеринга различных браузеров и устройств. В данном случае, если span отображается толще чем псевдоклассы, можно попробовать следующие способы:
1. Изменить единицы измерения высоты (например, использовать em или rem вместо px).
2. Удалить или пересмотреть другие стили, которые могут влиять на отображение элементов.
3. Проверить совместимость используемых CSS свойств с браузерами на устройствах iOS.
4. Если проблема сохраняется на устройствах iOS, можно попробовать использовать префиксы для CSS свойств, которые могут быть необходимы для корректного отображения на iOS.
Если вы все еще столкнулись с проблемой, лучше всего создать минимальный пример кода (codepen, jsfiddle и т. д.) и поделиться им, чтобы другие могли вам помочь с более точными рекомендациями по исправлению проблемы.