2017-05-09 8 views
0

divの1行に収まる文字数を計算して残りを切り捨てようとしていますが、text-overflowはオプションですが、正しくフィットする文字列の長さを計算します。文字のフォントサイズと幅がほぼ同じであるかどうかは、文字間隔や空白の幅などの幅を計算する方法ではありませんか?フォントサイズから文字幅を計算する方法。

P.S. - この質問にフラグを付ける前に、私はほとんどの質問と回答を通過したが、どれも満足できるものではなかったことを知っている。

+1

行うのときは、その後、https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/([ 'measureText']使用されクローン化されたdiv要素を削除することができますmeasureText)オプション? – Scott

+0

@Scott私はキャンバスを使用していません。テキストは 'div'にあります。 –

答えて

0

私は、divに十分なスペースが残っているかどうかを確認する方法もあります。これを行うには、元のdivが複製されたdivの幅以上になるまで、同一のdivを作成し、複製されたdivから1文字をゆっくりと削除する必要があります。

divClone.textContent = text 
document.body.appendChild(divClone) 
while(divClone.clientHeight > originalDiv.clientHeight) { 
    divClone.textContent = divClone.textContent.substring(0, divClone.textContent.length-1) 
} 
originalDiv.textContent = divClone.textContent 

それは

関連する問題