任意のテキストを、指定した幅に改行無しで一行に表示させたい時に、 JavaScript でフォントのサイズを変化させて実現する例。
<span id="scaled" style = "white-space: pre;">ここに動的に変化するテキスト</span>
Prototype.js 使ってます。
function fitFont() { var fs = 40; // 標準フォント var fw = 300; // max width Element.setStyle($("scaled"), {"font-size": fs + "px"}); while( true ) { if( Element.getWidth($("scaled")) > fw && fs > 1) { fs -= 1; Element.setStyle($("scaled"), {"font-size": fs + "px"}); } else { return; } } }