多行文字溢出隐藏是指当文本内容超过容器宽度或高度时,通过特定的CSS样式使其部分内容隐藏,并提供展开/关闭的功能以便用户查看完整内容。
text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
实现。-webkit-line-clamp
属性(非标准,但广泛支持)或JavaScript动态计算高度实现。.overflow-hidden {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; /* 显示的行数 */
overflow: hidden;
text-overflow: ellipsis;
}
function setMultiLineOverflow(element, lineCount) {
const lineHeight = parseFloat(getComputedStyle(element).lineHeight);
element.style.height = `${lineCount * lineHeight}px`;
element.addEventListener('click', () => {
element.style.height = 'auto';
});
}
MutationObserver
监听内容变化,动态调整高度。-webkit-line-clamp
属性在部分浏览器中可能不支持,需使用JavaScript作为后备方案。多行文字溢出隐藏是一种常见的前端优化手段,通过CSS和JavaScript的结合可以实现良好的用户体验。在实际应用中,需要注意处理各种边界情况和兼容性问题,以确保功能的稳定性和可用性。
领取专属 10元无门槛券
手把手带您无忧上云