在div中包装长文本

时间:2010-02-02 20:03:34

标签: javascript html css

我正在查询数据库中的文本。如果文本结尾太长,我希望能够将文本换成400个字符,并在最后显示“...”。 怎么办呢?

5 个答案:

答案 0 :(得分:5)

我建议你不要在查询中这样做。您可能使用比例字体进行渲染,这意味着400个字符的大小永远不会相同。 “......”背后有很多白色空间,有点尴尬。

您可以使用CSS(具有有限的浏览器支持)查询整个字段并切断:

overflow: hidden;
text-overflow: ellipsis;

答案 1 :(得分:1)

当您在javascript字符串中包含文本时:

newText = text.length > 400 ? (text.slice(0, 400) + ' ...'):text;

答案 2 :(得分:0)

在MySQL中它是:

SELECT (CASE WHEN CHAR_LENGTH(some_column) > 400 THEN CONCAT(SUBSTR(some_column, 1, 400), '...') ELSE some_column END) FROM some_table

填写您自己的列以进行截断和表格,但这是它的要点。

答案 3 :(得分:0)

您可以将o-text-overflow添加到Tomas的解决方案中,以扩展对Opera的支持。

答案 4 :(得分:0)

使用javascript和jquery(substring())可能符合您的需求。

var mystring = somethingFromYourDb
var mystringToDisplay = mystring.substring(0,400);
var div = document.createElement('div');
div.innerHTML = mystringToDisplay;
...

要显示字符串的结尾,您还有很多方法可以执行此操作。使用jquery函数“toggle()”打开一个新窗口,...