HTML单行文本,如果长于一行,则附加“...”?

时间:2010-09-07 19:54:05

标签: html css text

HTML是否支持文本呈现的行为,其中自动放置“...”将避免多行?抱歉,我找不到与此行为相关联的样式/标记(如果存在)!

3 个答案:

答案 0 :(得分:5)

不,内置任何东西。

您需要自己在服务器端执行此操作,或者编写一些将计算行数的JavaScript并使用省略号(...)替换行的其余部分。

CSS3规范中定义的text-overflow-mode会执行此操作,但作为工作草案,它不是最终的,不一定适用于当前的浏览器。

答案 1 :(得分:3)

您正在寻找的属性是CSS text-overflow: ellipses。不幸的是它在Firefox中不起作用。这是一个资源:

http://www.css3.info/preview/text-overflow/

你可以在Firefox中破解它,例如

http://www.jide.fr/english/emulate-text-overflowellipsis-in-firefox-with-css

但唯一真正的跨浏览器解决方案可能是JavaScript,也许就是这个,或者也许是本页评论中的一个:

http://ajaxian.com/archives/ellipsis-or-%E2%80%9Ctruncate-with-dots%E2%80%9D-via-javascript

答案 2 :(得分:1)

简短回答:不。

更长的答案:如果你使用的是向前端输出HTML的编程后端(例如PHP),这是可能的。你可以做点什么

<?php
    if(str_len($yourText) > 100) {
        echo substr($yourText, 0, 100) . "...";
    }
?>