これは私の前の質問のフォローアップ質問です。要素内のテキストの各行の正確な位置を見つける方法を見つけようとしています。
csslineHeight
属性を見つけることができました(前の回答を参照)。問題は、要素の高さが行数の累積高さに。を掛けたものよりもわずかに大きいことlineHeight
です。
例:
パディング、ボーダー、マージンの<p>
ない2010pxの高さで(、、scrollHeight
およびoffsetHeight
すべてclientHeight
同じレポート)、ブラウザーに89行あります。のlineHeight
はcomputedStyle()
22です。
2010/22=91.37行
小さな要素では、値を床に並べて正しい行数を取得できますが、大きな要素では、正確な行数を正確に取得できないという上記の問題が発生します。
私の仮定は、私が考慮していないこれらのテキスト行の間にいくつかの小さなスペースがあるということです。それを見つける方法はありますか?フォントタイプと関係がありますか?ブラウザで自動的に設定されますか?ドキュメントは特に役に立ちます。
ありがとう!!
アップデート:
したがって、26個の上付き文字が<p>
あり、それぞれが2px上に突き出ており、lineHeight
表示される行の線を24pxに拡張しています。これは、私の不足しているスペースを説明しています。(うわー!これまでのところありがとう!)
私が今乗っているボートは、それらが通常のラインの最上部からどれだけ突き出ているかを動的に計算する方法、またはaのベースラインが<sup>
通常のベースラインよりどれだけ高いかを発見する方法を見つける必要があると思います。(逆もまた同様です<sub>
。)それ以外の場合、CSSでそれを判断できますか?