2009-07-24 9 views
2

あなたは私の言いたいことを知っていますか?ように、7pxまたは任意:私はdiv要素は、フォントサイズを持っているしたいと思うような場合には、テキストがオーバーフローしないように要素のfont-sizeを自動的に設定するJavascript? (オートフィット)

<div style="width:100px;font-size:10px">Some Text</div> 

をしかし、その後、我々はまた、おそらくそのdivの中にはるかに長いテキスト文字列を持つことができます: のようだが、我々が持っているとしましょう文字列全体があふれずに収まります。

私はすでにこのような記述があると確信していますが、私はこれを再考したくありません。好ましくはjQueryプラグインですか?

ご意見をお寄せください。おかげでニックの質問で提案された回答に基づいて

+0

これは役立つかもしれません:http://stackoverflow.com/questions/118241/calculate-text-width-with-javascript – Nosredna

+0

この質問は、[今日の前に尋ねた]と非常に似ています(http://stackoverflow.com/questions/1177320/programmatically-determined-font-size-for-single-line-display/1177753#1177753)。 –

答えて

5

$(function() { 
    $(".shrinkByWidth").each(function() { 
     var targetWidth = $(this).parent(':first').width(); 

     if (isNaN(parseInt($(this).css("font-size")))) 
      $(this).css("font-size", '24px'); 

     while ($(this).width() > targetWidth) 
     { 
      $(this).css("font-size", (parseInt($(this).css("font-size")) - 1) + 'px'); 
     } 
    }); 
}); 
私にとって素晴らしい作品

+0

改訂されたソリューションを投稿していただきありがとうございます:) –

関連する問題