Depois de muita pesquisa, tentativa e erro, descobri uma maneira que parece funcionar bem e não requer redefinir manualmente o tamanho da fonte nos elementos filhos, permitindo-me ter um tamanho de fonte em em todo o documento .
No Firefox, isso é bastante simples, basta definir word-spacing: -1em
no elemento pai. Por algum motivo, o Chrome ignora isso (e pelo que testei, ele ignora o espaçamento entre palavras, independentemente do valor). Portanto, além disso, acrescento letter-spacing: -.31em
aos pais e letter-spacing: normal
aos filhos. Esta fração de um em é o tamanho do espaço SOMENTE SE o tamanho do em for padronizado . O Firefox, por sua vez, ignora os valores negativos de espaçamento entre letras, portanto não os adiciona ao espaçamento entre palavras.
Eu testei isso no Firefox 13 (win / ubuntu, 14 no android), Google Chrome 20 (win / ubuntu), navegador Android no ICS 4.0.4 e IE 9. E estou tentado a dizer que isso também pode funcionar no Safari, mas eu realmente não sei ...
Aqui está uma demonstração http://jsbin.com/acucam
{strip}
. Outros mecanismos de template devem ter tags semelhantes.