如何实现网页两行文本的ellipsis并跟随动态块状内容?

如何实现网页两行文本的ellipsis并跟随动态块状内容?

如何在网页上实现两行文字ellipsis并跟随动态块状内容

本文旨在解决如何在网页上实现两行文本的ellipsis(省略号)并在其后紧随一个动态的块状内容。此效果可用于在不同文本长度下无缝衔接动态内容,例如图标或按钮。

解决方案:

可以使用以下 CSS 和少量 JavaScript 代码来实现这一效果:

p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 200px;  // 根据需要调整最大宽度
}

.icon {
  display: inline-block;
  margin-left: 5px;
}
function adjustIcons() {
  var icons = document.querySelectorAll(".icon");
  for (var i = 0; i < icons.length; i++) {
    var icon = icons[i];
    var parent = icon.parentNode;
    var margin = parseFloat(window.getComputedStyle(icon).marginLeft);
    var width = icon.offsetWidth + margin;
    parent.style.width = (parent.offsetWidth - width) + "px";
  }
}

window.addEventListener("load", adjustIcons);
window.addEventListener("resize", adjustIcons);

演示效果:

[在线演示](https://codepen.io/xboxyan/pen/PopWVNX)

原理:

此解决方案利用 CSS 的 text-overflow: ellipsis 属性和 display: inline-block 属性来实现文本的ellipsis。max-width 属性则用于限制文本的宽度。

adjustIcons() 函数用于调整动态内容的位置,使其紧随ellipsis文本。它动态计算动态内容的宽度并相应调整其父元素的宽度。

此解决方案在各种浏览器中表现良好,并且可以轻松自定义以满足不同需求。

以上就是如何实现网页两行文本的ellipsis并跟随动态块状内容?的详细内容,更多请关注硕下网其它相关文章!