Using font-variant: small-caps;
is not a good idea if you want consistency across multiple browsers and platforms.
When I first ran into problems with this property I came upon the cross-browser issue which another SO member had written about here: font-variant: small-caps; shows different font sizes using Chrome or Firefox. To get around this all you have to do is put the text in uppercase, taking most of the rendering away from the browser so it only has to make the first letter of the word larger. That case was solved.
Then I temporarily moved my site from a Linux-based server to a Windows 7 server. The exact same site viewed on the Windows 7 and Linux servers produced different text sizes with font-variant: small-caps;
. Similar to the cross-browser issue it is only a 1-2px difference in size between the first letter and the rest of the word, but I had multiple textual elements side by side which threw my layout off by 10px in the end. So it seems that the browser is not the only culprit when it comes to sizing issues with this property, but the operating system as well.
In the end I did away with this property, put the text in caps, and used the :first-letter
pseudo-element to achieve what I desired.
After that long explanation my question is... I know that some rendering is handled partly by the operating system, like the appearance of form elements, but why would text sizing be affected? I thought this was handled entirely by the browser.