互いにいくつかの div を含む HTML ページがあります。
div#given -- display: block
div#one -- display: table
div#two -- display: table-row
div#three -- display: block
div#four -- display: block
#given
サードパーティによって提供され、明示的なwidth
セットがありますが、その幅は JavaScript を介して変更できます。
#one
、#two
、#three
および#four
すべてに暗黙的な幅があります。
#three
次のようなスタイルシートがあります。
#three
{
overflow-y: hidden;
}
#three:hover
{
overflow-y: visible;
}
#four
には多くのテキストが含まれており、完全にオーバーフローしていますが、オーバーフローはホバリング#three
されるまで隠されています。
を適用したいのですが、が設定されている場合にのみ機能するようです。ただし、それは両方と数千ピクセルを左に伸ばします。これは、私が望むものではありません。
これまでのところ、 の幅を明示的に設定する他の解決策は見つかりませんでした。これは (可能ですが、非常に) の幅が固定されていないため、非常に非現実的です。#three
#four
text-overflow: ellipsis;
white-space: nowrap;
#three
#four
#four
#given
これを行うJS以外の方法はありますか?
ここに私の問題があります: https://jsfiddle.net/zquL7sem/3/
#three
私の目標は、またはの明示的な幅を設定せずに、赤い境界線の内側の領域を青い線で終了させ、テキストが終了する場所に 3 つのドットを表示すること#four
です。
どんな助けでも大歓迎です。