Zadat záložní velikosti písma v CSS?

Existuje nějaký způsob, jak určit různé velikosti písma pro záložní písma v CSS? Chci udělat něco takového (což samozřejmě nefunguje):

div {
    font-family: "Arial Narrow", Arial, Helvetica, sans-serif;
    font-size: 20px, 18px, 18px, 18px;
}

Myšlenka je taková, že Arial Narrow by se zobrazoval na 20px, pokud jej má uživatel nainstalovaný; pokud ne, prohlížeč spadne zpět na Arial na 18px, potom na Helvetica na 18px atd.

Nebo bych mohl použít JS k dosažení podobného efektu?

Odpověď

Chápu, co chcete, ale myslím, že odpověď na vaši otázku je „Ne, to nelze udělat v CSS“, alespoň ne v CSS2 afaik.

Doufám, že mě někdo dokáže, že se mýlím, protože to chci taky 😀

Předpokládám, že JS toho může dosáhnout, alespoň do určitého bodu. Nejste si jisti, zda existuje „je toto písmo nainstalováno?“ metoda v JS, ale možná budete schopni udělat nějaké vzdělané odhady založené na OS a podobně. Nemám s tím žádné zkušenosti, omlouvám se.

Edit:nějaké rychlé googlování poskytuje několik chytrých JS triků, i když jsem je ještě nezkoušel. Např.
http://remysharp.com/2008/07/08/how-to-detect-if-a-font-is-installed-only-using-javascript/

Další úprava, po delším hledání:
Spustilo mě "někdo by to měl navrhnout" :D. Zdá se, že specifikace CSS3 má „font-size-adjust“, což se zde může hodit. Podpora v jiných prohlížečích než Firefox však nemusí být v době, kdy toto píšu, optimální. Zde je slovo W3 o této vlastnosti:
http://www.w3.org/TR/WD-font/#font-size-adjust