They are NOT both the same height because the actual height occupied by different font families of the same size is unlikely to be the same (most likely different). The actual height depends on the space built into the structure of the font-family to allow for ascenders and descenders.
In your code, input[type=submit] and label
are assigned font-family: "Times New Roman", Times, serif;
however
input[type=text]
has not been assigned the same font-family. In fact, it has not been assigned a font-family at all. So the font-family that is used to display input[type=text] is the default font-family used by the user’s browser… which could be anything.
An easy solution is to assign all three items the same font-family and font-size.
Use different colors and/or background colors or outlines for effect (things that do not influence the height or width of a box).
And ONCE AGAIN, allow me to mention that you should NOT need to assign a fixed height to input[type="submit"]
One upon a time, long long ago, I found a very good slide show that explained the structure of fonts. If I can find it again, I’ll add it to this topic for you to study. I really enjoyed it