To jeszcze mam jedno pytanie

Calosc, ktora tworze to funkcja, ktora bedzie wyswietlac "dymki" (takie jak alt przy img). Teraz chcialbym zeby rozmiar tego dymku byl dopasowany to tekstu wewnatrz niego. Funkcja wyglada tak:
function showTip(strArg) {
newLayer = document.createElement("DIV");
var layerText = document.createTextNode(strArg);
var textLength = strArg.length;
var fontSizeInPixels = 11;
document.body.appendChild(newLayer);
newLayer.style.backgroundColor = "#ffc";
newLayer.style.color = "#000";
newLayer.style.width = textLength*fontSizeInPixels+'px';
newLayer.style.height = 14+'px';
newLayer.style.position = "relative";
newLayer.style.top = -20+'px';
newLayer.style.left = 20+'px';
newLayer.style.borderWidth = 1+'px';
newLayer.style.borderStyle = "solid";
newLayer.style.borderColor = "#000";
newLayer.style.fontFamily = "Arial, Helvetica, sans-serif";
newLayer.style.fontSize = fontSizeInPixels+'px';
}
No i mam problem z tym wymiarowaniem. Wedlug tego co tam znalazlem w w3c to 'em' to jest odleglosc rowna rozmiarowi czcionki, ale to nie jest to czego szukam bo jesli wpisze same 'WWWW' to pole jest w sam raz, a jak wpisze same 'iiii' no to pole jest o wiele za duze. Probowalem (tak jak w tym kodzie) jakos wykorzystac atrybut length i pomnozyc go przez rozmiar fonta, ale to tez nie daje pozadanych rezultatow. Czy ktos z Was wie moze jak to rozwiazac? Kiedys cos takiego robil?
EDIT:
A i to udalo sie rozwiazac. Troche tylko trzeba bylo zmienic tok myslenia. Wystarczy zamienic div (ktory "ciagnie sie" do konca linii) na span i problem z glowy. Dziekuje za pomoc!