这是我需要实现的布局:
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。