【问题标题】:Text overflow ellipsis is not working in Windows(IE 10)文本溢出省略号在 Windows(IE 10)中不起作用
【发布时间】:2013-08-31 09:08:46
【问题描述】:

如果 DIV 包含很长的句子,例如“如果我每次被告知我不能得到一角钱”,我想显示:

 |if i had a dime for|
 |everytime i was... |

通过使用下面的代码,它在 IOS 和 android 中运行良好,但在 windows(IE 10) 中无法运行,请帮助我。

<table>
   <tr>
      <td width="80%">
         <div style="width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;font-size:14px;">
               if i had a dime for everytime i was told i can't                                                         
         </div>
     </td>
     <td width="20%">
          <img src=""/>
     </td>
   </tr>

【问题讨论】:

标签: javascript html css windows ellipsis


【解决方案1】:

您想要的效果是用省略号截断的多行文本块。

很遗憾,这是不可能的。 text-overflow:ellipsis 仅适用于单行。它要求您指定white-space:nowrap(您已经这样做了),这会将整个文本强制放在一行中。

这是标准,适用于所有浏览器,所以我不知道您如何在 any 浏览器上获得所需的效果。它肯定不会在 IE 或我知道的任何其他当前浏览器中工作。

text-overflow 的扩展允许在多行文本上使用省略号,但它仅受 O​​pera 支持,因此几乎不值得一提。 (但如果你有兴趣,语法是text-overflow: -o-ellipsis-lastline)。

有一个纯CSS解决方案described here,但是有点复杂。不过可能值得一试。

您唯一的其他选择是某种 javascript 解决方案。

【讨论】:

    【解决方案2】:

    编辑 纠正自己;你需要有 CSS 溢出和宽度

    http://jsfiddle.net/HerrSerker/kaJ3L/1/

    span {
    border: solid 2px blue;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100px;
    display: block;
    overflow: hidden
    

    }

    【讨论】:

    • 谢谢,但我需要它在第二行,请检查jsfiddle.net/kaJ3L/874
    • @user2677473 - 不能使用标准 CSS 在多行中完成。 text-overflow:ellipsis 专门为单行设计。
    • 好的,我们有使用 javascript 的解决方案吗?如果有,可以分享一下吗
    猜你喜欢
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 2013-08-19
    相关资源
    最近更新 更多