带有截断文本和向右粘贴的元素的行

Row with truncating text and elements that stick to the right

本文关键字:元素 文本      更新时间:2023-09-26

以下是我需要实现的布局:

   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。

我建议使用网格。我立刻想到了克里斯·科伊尔:"不要想太多网格"。请参阅:http://css-tricks.com/dont-overthink-it-grids/

<div class="grid"> 
  <div class="col-1-4">
    <div class="module">
      <h3>box1</h3>
    </div>
  </div>
  <div class="col-1-4">
   ....
</div>

我用他的代码做了这样的:http://jsfiddle.net/W7QLj/74/

尝试在方框2中添加更多文本。希望这有帮助,因为它不包括你想要的一切:)