javascript - 以百分比给出省略号

标签 javascript jquery html css

我正在尝试为 td 元素内的 span 元素提供省略号。问题是当且仅当我给 span 元素一个固定宽度时,省略号才有效,即以像素为单位的宽度。但是在我的元素中,我不能对 span 元素使用固定宽度。 span 元素必须在相应的 td 元素内完全拉伸(stretch),这可以通过使用 width: 100% 实现。

我的问题是:如何通过将 span 元素完全拉伸(stretch)到 td 元素内来使省略号正常工作?

span {
    width: 100%;    /* In pixels, it is working fine */
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow:hidden;
}

这是 Fiddle

我正在寻找可以是纯 css 或 javascript 或 jQuery 的解决方案。该解决方案应适用于 IE8+ 和 firefox。

PS:由于元素限制,无法动态计算span的宽度。

编辑:我无法限制 td 元素的宽度,因为我在 td 元素上实现了可调整大小的列。

最佳答案

简而言之,您需要添加:

table {
    width: 100%;
    table-layout:fixed;
}

原因不在 span 元素中,而是因为表格的 td 元素没有定义 33% 的宽度 - 它们根据 td 的宽度展开> 内容。要使它们固定宽度,您需要将 table-layout:fixed; 规则应用到您的 table

现场 fiddle :http://jsfiddle.net/m5gGr/

关于javascript - 以百分比给出省略号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17609144/

相关文章:

javascript - 如何将动画类添加到 div

javascript - 我怎样才能得到一个 div 及其所有子项及其各自的 computedStyles?

javascript - 我们如何在 UserEvent SuiteScript 2.0 中获取记录类型

javascript - 点击事件触发多次问题,怎么办?

javascript - 如何像 Excel 舍入函数那样以负精度舍入 js 中的数字

javascript - 有什么办法可以在 iframe 元素中放置链接吗?

javascript - RequireJS 和 Breeze 配合不佳

jquery - jqueryui 选项卡内的流程图

video - 为什么只有 youtube 嵌入在 iPad 上可用?

javascript - 如何将复选框的数量限制为1