Scale to fit

Je voulais jouer avec un composant qui serait space to fit mais pas mal de bugs liés au fait que les browser mettent le letter-spacing entre le lettres mais aussi après la dernière lettre. Donc ma formule devient pour une node hq sans enfants:

    hq.style.margin = hq.style.padding = ‘0’;
    var spana = document.createElement(‘span’);
    spana.appendChild(document.createTextNode(hq.firstChild.nodeValue));
    hq.replaceChild(spana,hq.firstChild);
    hq.style.letterSpacing = ‘0’;
    hq.style.textAlign = ‘center’;
    v = (hq.offsetWidth – hq.getElementsByTagName(‘span’)[0].offsetWidth) / (hq.getElementsByTagName(‘span’)[0].firstChild.nodeValue.length);
    hq.style.letterSpacing = ~~(v)+’px’;
    hq.style.marginRight = ~~(-1*v)+’px’;
Merci.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *