使用 CSS 截断长字符串:卓越成就
使用 HTML 和 CSS 截断文本可能是一个难题,尤其是在处理其内部呈现时固定布局。基于逻辑宽度的服务器端截断有其局限性,通常需要不断调整才能确保最佳结果。
然而,CSS text-overflow: ellipsis 的出现彻底改变了这个过程。此属性现已受到主要浏览器的支持,它会截断溢出的文本并附加省略号以指示截断。
Justin Maxwell 精心设计了一个利用上述属性的跨浏览器 CSS 解决方案。虽然它会阻止 Firefox 中的文本选择,但它可以有效地修剪内容并根据需要显示省略号。
CSS 实现:
.ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; -moz-binding: url('assets/xml/ellipsis.xml#ellipsis'); }
用于 Firefox 支持的 XML 绑定:
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:xbl="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <binding>
节点内容更新Firefox:
更新 Firefox 中使用省略号的节点内容需要不同的方法:
function replaceEllipsis(node, content) { node.innerHTML = content; if (YAHOO.env.ua.gecko) { var pnode = node.parentNode, newNode = node.cloneNode(true); pnode.replaceChild(newNode, node); } }
有了这个增强的解决方案,截断固定布局中的动态文本不再是一项艰巨的任务。文本溢出:省略号为简化内容呈现铺平了道路,消除了服务器端猜测的需要并确保了跨浏览器兼容性。
以上是如何用CSS高效截断长字符串并处理跨浏览器兼容性?的详细内容。更多信息请关注PHP中文网其他相关文章!