javascript - 使用 span 代替 div 来显示省略号

标签 javascript html css

我正在尝试对文本溢出使用跨度。

.jdName {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
<td>
    <span className="jdName">Some Name with more characters</span>
</td>

这里是 td 已经有一个固定的宽度。所以,我没有给出跨度。

但是它没有为此显示任何省略号。

我必须为此使用 div。任何人都可以帮助我如何使用 span 而不是使用 div?

最佳答案

这里有两个因素在起作用。首先,<span>有内联布局;默认情况下,某些 CSS 属性不适用于它。其次,<td><table>有自己的一套布局怪癖。

通常,如果您提供 span block 布局(将 display 设置为 inline-blockblock 等等)和宽度( auto 除外),省略号会出现。

<td>不过,元素是特例。 那个 在 SO 问题 td widths, not working? 中得到了更好的解释.

td,
.test-div {
  width: 100px;
}

.jdName {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  width: 100%;
  border: 1px solid red;
}
<table>
  <tr>
    <td>
      <span class="jdName">Some Name with more characters</span>
    </td>
  </tr>
</table>

<div class="test-div">
  <span class="jdName">Some Name with more characters</span>
</div>

关于javascript - 使用 span 代替 div 来显示省略号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56495314/

相关文章:

javascript - 启用/禁用具有相同 ID 的文本字段

javascript - 使用 jQuery 合并 2 个表

javascript - 如何使用文本换行将 div 排成一行?

html - DIV 中不需要的空间

jquery - 页面滚动后div需要屏幕垂直居中

css - 如何定位深层嵌套的标题元素

javascript - AssertionError : expected { Object (driver, name, ...) } 拥有属性 '_id'

javascript - 如何在 img 元素中使用 `data-text` 属性?

javascript - 从标签中选择随机单词,用斜体括起来

html - 使 ul 中的列表垂直居中