Web 開発では、特にテキスト コンテンツを扱う場合、要素の実際の行の高さを理解することが不可欠です。 style.lineHeight プロパティは CSS で定義された行の高さを提供しますが、特定の CSS ルールがないために実際の行の高さが異なる場合があります。
To JavaScript を使用して要素の実際の行の高さを計算するには、.clientHeight プロパティを利用できます。このアプローチは完全に信頼できるわけではありませんが、CSS 定義がない場合に行の高さを決定する実用的な方法を提供します。
次のコード スニペットは、実際の行の高さを計算する方法を示しています。 line-height using .clientHeight:
function getLineHeight(el) { var temp = document.createElement(el.nodeName), ret; temp.setAttribute("style", "margin:0; padding:0; " + "font-family:" + (el.style.fontFamily || "inherit") + "; " + "font-size:" + (el.style.fontSize || "inherit")); temp.innerHTML = "A"; el.parentNode.appendChild(temp); ret = temp.clientHeight; temp.parentNode.removeChild(temp); return ret; }
この関数は、ターゲット要素のプロパティを一時要素に複製することによって動作します。一時要素内で単一の文字 (「A」) をレンダリングすることにより、元の要素の行の高さの動作を効果的に模倣します。この一時要素の clientHeight が実際の行の高さとしてキャプチャされます。最後に、一時要素が DOM から削除されます。
このメソッドは、既存の CSS 定義に関係なく、JavaScript で要素の実際の行の高さを決定する信頼性の高い方法を提供します。これは、CSS 制御が不可能な動的コンテンツに特に役立ちます。
以上がJavaScript で実際の行の高さを計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。