The CSS font-size
property denotes that a font is allocated the amount of space specified; it does not have to make use of all of this allocated space. OpenType fonts (such as the Times New Roman
default web font) are meant to have an em
size that corresponds to 1000 units. Conversely, TrueType fonts have an em
size of 1024 units.

The em
size is also known as the point
size, which is roughly 0.35136mm on the screen. The actual size of the font you see depends primarily on how the developer designed the font glyph when the font was created. There's also factors in play such as how each browser renders said font, and the resolution at which the font is viewed.
Here's a few fonts side-by-side so you can see that the font itself controls the side, yet they all retain a little bit of 'padding':
div {
border: 1px solid black;
font-size: 50px;
height: 50px;
width: 50px;
line-height: 50px;
box-sizing: content-box;
text-align: center;
float: left;
}
.a {
font-family: "Times New Roman", Times, serif;
}
.b {
font-family: "Times New Roman", Times, serif;
font-weight: bold;
}
.c {
font-family: Arial, Helvetica, sans-serif;
}
.d {
font-family: Georgia, serif;
}
.e {
font-family: Courier, Monaco, monospace;
}
.f {
font-family: "Comic Sans MS", cursive, sans-serif;
}
<div class="a">A</div>
<div class="b">A</div>
<div class="c">A</div>
<div class="d">A</div>
<div class="e">A</div>
<div class="f">A</div>
Note that Comic Sans drops down significantly lower than Courier, for example.