Struppi: Was Sie schon immer über ex wissen wollten

Beitrag lesen

In x-Richtung geht es leider nicht ohne das innerHTML-'Gehampel'; ein leerer div hat keine Breite...

Bei mir schon.

function emToPx(w) {
    if (!w)
        w = 1;
    var div = document.createElement("div");
    div.style.width = w.toString() + 'em';

Das toString() macht JS von alleine.

div.style.overflow = "hidden";

und das ist hier wiederrum nicht nötig.

div.innerHTML = 'm';

ebenso

document.body.appendChild(div);
    var h = div.offsetWidth;
    document.body.removeChild(div);
    return h;
}

Ich komm auf das um eine relative Einheit in Pixel umzurechenen:

  
function check_px(unit)  
{  
    if(!document.createElement) return;  
    if(!unit) unit = 'em';  
    var div = document.createElement('div');  
    div.style.width = '1' + unit;  
    document.body.appendChild( div );  
    var px = div.offsetWidth;  
    document.body.removeChild( div );  
    return px ;  
}  

Frage: In welcher Maßeinheit sind denn die size-Angaben in font?

Browserspezifisch?

Struppi.