I think your fellow developer is somehow correct. To be honest, as far as I know there's no "set in stone" rule for this, so nobody is right or wrong as an absolute. However, depending on implementation, you may end with browsers rendering your font as integer numbers. Which isn't a big deal on modern screens, but some older screens will start to add subpixel rendering and therefore results might look inconsistent. See how subpixel rendering works in the image below
This being said, at this point we're talking of edge cases, nowadays most screens won't have any issues dealing with subpixel rendering and display will be consistent in most cases.
The convenience case
However, there's an scenario where even sizes are really useful: developing. If you define an even number , it's easier to develop based on rem
or em
sizes. This way, you can define a base size and then use sizes such as 2rem, 1rem, .25 rem, .5em
. For example, if you use 16px as base size it's really easy to scale using rem or em knowing that they will become soemthing like 16px: 1rem ; 8px: 0.5rem ; 4px: 0.25rem
and so on.
Please note that I chose 16px because its' the default and because we use 8pt vertical rhythm system as default on all our projects, but you could use any size, of course