当文本较长时,我需要将其裁剪并放在“ ...”末尾。当我将文本悬停时,我需要显示全文的工具提示。
我正在为此编写函数,但是我创建了DOM的隐藏元素。裁剪我正在使用CSS。可能有更简单的方法吗?

我的功能确定文本是否裁剪。然后我选择是否显示工具提示。

const isCropText = (text: string, maxWidth: number): boolean => {
  const hiddenDiv = document.createElement('div');
  hiddenDiv.style.position = 'absolute';
  hiddenDiv.style.visibility = 'hidden';
  hiddenDiv.innerHTML = text;

  document.body && document.body.appendChild(hiddenDiv);

  const offsetWidth = hiddenDiv.offsetWidth;

  document.body && document.body.removeChild(hiddenDiv);

  return offsetWidth > maxWidth;
};

最佳答案

这是使用CSS的一种方法:



.tooltip {
  display: inline-block;
  background-color: #666;
  color: #CCC;
  width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.tooltip:hover {
  width:auto;
}

<div class="tooltip">
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
</div>

关于javascript - 使用工具提示裁剪文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46843825/

10-10 23:07