wrap
CSS のプロパティでスタイル設定された div があります。幅は固定されており、コンテンツが許容される最大値を超えると、別の行に分割されます。異なるスパン要素が同じ行にあるかどうかを理解する必要があるアプリケーションを構築しています。例を挙げましょう:
<div style="width: 300px;" class="wrap">
<span style="font-size:15px;color:red;">Lorem ipsum dolor sit amet, consectetur adipiscing elit</span>
<span style="font-size:17px;color:green;"> Vivamus in mauris dui, non posuere</span>
</div>
ライブの例: jsFiddle
3 つのケースを理解する必要があります。
- スパンが同じ行で始まり、別の行で終わる場合。
- スパンが別の行で始まり、同じ行で終わる場合。
- スパンが同じ行で開始および終了する場合。
私が今までやってきたこと:
- スパンの font-size が同じ場合、プロパティを使用して簡単に見積もることができ
offsetTop
ます。試してみましたが、正常に動作します。 - ただし、スパンのフォント サイズが異なる場合は、フォント サイズも異なり
offsetTop
ます。font-size が小さいとoffsetTop
大きくなり、逆もまた同様であるため、このプロパティを使用して推定することは困難です。 - 最後に、font-size を変更すると、1 行に収まるスパンを 2 行に分割する必要がある場合があるため (たとえば、font-size が 13px から 25px に増加した場合)、font-size を均等化してもうまくいきません。
要するに、純粋な JavaScript を使用してそれをどのように理解しますか? これは、遊んでみる jsFiddleです。