Атрибут size
устанавливает количество символов , которое будет отображаться в поле (в случае полей text
и password
). В разных браузерах используются разные шрифты по умолчанию, размеры шрифтов и меры ppi, а это означает, что вы получаете поля разного размера (в пикселях).
Кроме того, как сказано в спецификации, это всего лишь «начальная» ширина элемента управления, и браузер может свободно изменять размер элемента управления, если он решит, что это необходимо в ходе переформатирования всей страницы.
Чтобы даже надеяться, что это поле будет иметь одинаковый размер (в пикселях) в разных браузерах, вам придется стилизовать его с помощью CSS. При этом, вероятно, есть веская причина, по которой каждый из них имеет разные размеры - в основном это связано со шрифтами по умолчанию - и если вы ограничиваете размер поля по пикселям, это означает, что некоторые браузеры будут отображать больше фактического текста, чем другие.