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参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
element | HTMLElement | 是 | 已应用截断样式的 DOM 节点 |
epsilon | number | 否 | 容差像素,默认 0.5 |
返回值
| 函数 | 类型 | 说明 |
|---|---|---|
isTextTruncatedHorizontally | boolean | scrollWidth > clientWidth(单行 truncate) |
isTextTruncatedVertically | boolean | scrollHeight > clientHeight(line-clamp) |
isTextTruncated | boolean | 横向或纵向任一截断 |
工作原理
element为空时返回 false。- 比较 scroll 与 client 尺寸,差值大于
epsilon视为截断。 - 与 Tooltip 配合:仅
true时展示全文,避免未截断也出现气泡。
异常
无异常抛出。