html - 如果需要,截断最后一个元素的文本

标签 html css twitter-bootstrap bootstrap-4

我有以下 HTML 代码(我使用的是 bootsrap 4):

<div class="badge-container">
  <span class="badge badge-pill badge-primary">One</span>
  <span class="badge badge-pill badge-primary">Two</span>
  <span class="badge badge-pill badge-primary">Three</span>
  <span class="badge badge-pill badge-primary">Four</span>
  <span class="badge badge-pill badge-primary">Five</span>
  <span class="badge badge-pill badge-primary">Six</span>
  <span class="badge badge-pill badge-primary">Seven</span>
  <span class="badge badge-pill badge-primary">Eight</span>
  <span class="badge badge-pill badge-primary">Nine</span>
</div>

我的 badge-container 有一个固定的宽度,例如 150px,并且应该在一行上。所以所有的徽章元素都不适合(我事先不知道 badge 的数量)。

我希望溢出我的 div 的第一个元素以 ... 结尾,接下来的元素应该被隐藏。例如:

One Thow Three Fo...

我尝试了以下 CSS:

.badge-container {
  background: red;
  width: 150px;
  display: flex;
}

// I can use text-truncate class instead
.badge {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

但它不起作用,因为所有元素都被截断了......

您将如何实现这一目标? 这在纯 CSS 中可能吗?

最佳答案

移除 flexbox 并保持简单:

.badge-container {
  background: red;
  width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space:nowrap;
}
.badge-container .badge {
  display:inline; /*Remove this to have a different rendring*/
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" >
<div class="badge-container">
  <span class="badge badge-pill badge-primary">One</span>
  <span class="badge badge-pill badge-primary">Two</span>
  <span class="badge badge-pill badge-primary">Three</span>
  <span class="badge badge-pill badge-primary">Four</span>
  <span class="badge badge-pill badge-primary">Five</span>
  <span class="badge badge-pill badge-primary">Six</span>
  <span class="badge badge-pill badge-primary">Seven</span>
  <span class="badge badge-pill badge-primary">Eight</span>
  <span class="badge badge-pill badge-primary">Nine</span>
</div>

关于html - 如果需要,截断最后一个元素的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57818760/

相关文章:

html - 如何在页面上水平居中 div 的同时水平居中 div 中的图像?

javascript - IE7 float 单选按钮问题

jquery - 在 Bootstrap 数据切换之前编辑表单输入值 ='modal'

css - WordPress 移动 View 中的导航菜单响应 Bootstrap

html - 页脚最后一页只有 html + css

jquery - 移动 View : Logo second word not in new line

html - 有什么工具可以向您显示站点中受特定 CSS 规则影响的所有元素/页面?

javascript - 如何使用 jQuery 以编程方式选择变量内的选项

javascript - 使用 JavaScript/JQuery 从上次选择中获取复选框值

html - 防止 Bootstrap 导航栏固定底部重叠