Skip to content

isTextTruncated

判断 DOM 元素文本是否因 CSS 截断而不可见(ellipsis / line-clamp)。

函数签名

typescript
function isTextTruncatedHorizontally(
  element: HTMLElement | null | undefined,
  epsilon?: number,
): boolean

function isTextTruncatedVertically(
  element: HTMLElement | null | undefined,
  epsilon?: number,
): boolean

function isTextTruncated(
  element: HTMLElement | null | undefined,
  epsilon?: number,
): boolean

参数

参数名类型必填说明
elementHTMLElement已应用截断样式的 DOM 节点
epsilonnumber容差像素,默认 0.5

返回值

函数类型说明
isTextTruncatedHorizontallybooleanscrollWidth > clientWidth(单行 truncate)
isTextTruncatedVerticallybooleanscrollHeight > clientHeight(line-clamp)
isTextTruncatedboolean横向或纵向任一截断

工作原理

  1. element 为空时返回 false。
  2. 比较 scroll 与 client 尺寸,差值大于 epsilon 视为截断。
  3. 与 Tooltip 配合:仅 true 时展示全文,避免未截断也出现气泡。

异常

无异常抛出。