達成する必要があるレイアウトは次のとおりです。
1 2 3 4
____________________________________________ ________________
| | | | | |
| * | Potentially Long Text | ****** | | ********** |
|_____|_________________________|__________| |______________|
要素 2 のテキストが長くなりすぎて 3 が 4 にぶつかった場合、テキストを切り捨てて省略記号を追加する必要があります。要素の内容や要素自体がラップされることはありません。
最初に各要素を作成しようとしinline-block
ましたが、それでは 4 が右にくっつきません。右にフローティングすると、コンテナーのサイズが十分に小さく変更されたときに、行の残りの下に折り返されます。むしろ、要素 2 を小さくする必要があります。
次に、テーブルでこれを実行しようとしましたが、(最大) 幅をハードコーディングして 2 のテキストを切り捨てることができません。( http://jsfiddle.net/W7QLj/1/を参照)
基本的に、2 はすべてのテキストを含めるのに必要なだけ小さくする必要があり、4 は右側に固定する必要があり、2 と 3 の間にスペースがあってはならず、スペースがなくなった場合は 2 が小さくなって全員に収まるようにする必要があります。要素 4 の幅は可変です。
必要な動作を得るための戦略を誰かが提案できますか? 必要に応じて、javascript を投入する準備ができています。