Largeur du type d'entrée = élément de texte

Comment se fait lorsque je fais ceci:

<input type="text" style="width: 10px; padding: 2px"/>
<div style="width: 10px; border: solid 1px black; padding: 2px">&nbsp;</div>

l'entrée se termine en hausse de 2 px plus large que la div dans les deux IE6 et FF3? Ce qui me manque?

EDIT:
Comme beaucoup de gens l'ont dit, la frontière est le problème. Si j'ai mis border: 0px sur l'entrée, il aura la même largeur que le div avec un 0 px frontière (vérifié par l'enveloppant à l'intérieur d'une bordée SPAN).

Cependant, lorsque je mesure les éléments dans la peinture, la div a un 14 px de l'intérieur, comme prévu (10+2+2). L'entrée, cependant, a un 16 px de l'intérieur, puis d'une frontière à l'extérieur. Pourquoi est-ce? Probablement pas un bug comme il arrive dans les deux IE6 et FF3, mais je ne comprends pas.

source d'informationauteur erikkallen