Html 将文本限制为仅两行

Html 将文本限制为仅两行,html,css,Html,Css,我想在html电子邮件中将文本限制为150px宽度的表格的固定行数,例如: 长长的文字沿着道路一直延伸到一条车道,并没有停在那里 我希望它看起来像这样: 长文本继续向下 这条路变成了一条小巷。。。 我正在截断字符串,最多45个字符,包括省略号,但有时当出现一个长单词时,它会出现三行: 长文本在 加速进入 路。。。 理想情况下,我希望在第一行中打断单词“加速”,或者在第二行中填充尽可能多的字符,有没有办法在html中做到这一点?(我查看了word wrap,但显然并非所有电子邮件客户端都支持

我想在html电子邮件中将文本限制为150px宽度的表格的固定行数,例如:

长长的文字沿着道路一直延伸到一条车道,并没有停在那里
我希望它看起来像这样:

长文本继续向下
这条路变成了一条小巷。。。
我正在截断字符串,最多45个字符,包括省略号,但有时当出现一个长单词时,它会出现三行:

长文本在
加速进入
路。。。
理想情况下,我希望在第一行中打断单词“加速”,或者在第二行中填充尽可能多的字符,有没有办法在html中做到这一点?(我查看了word wrap,但显然并非所有电子邮件客户端都支持它)


此外,由于这是电子邮件客户端,我无法执行任何javascript等操作。

您是否尝试过将每一行包装成
以强制其不包装

可以在CSS解决方案中找到一些文档 您可以设置一个高度并隐藏溢出

span{
显示:内联块;
边框:黑色1px实心;
宽度:300px;
高度:40px;
溢出:隐藏;
}
示例


PHP解决方案 服务器端的替代方案是使用
substr

<?php

    $string = "Oh squiggly line in my eye fluid. I see you lurking there on the peripheral of my vision. But when I try to look at you, you scurry away. Are you shy, squiggly line? Why only when I ignore you, do you return to the center of my eye? Oh, squiggly line, it's alright, you are forgiven.";

    echo charlimit($string, 100);

    function charlimit($string, $limit) {

        return substr($string, 0, $limit) . (strlen($string) > $limit ? "..." : '');
    }

?>
示例

但这是同一件事,你必须根据“最佳合身”来定制


希望能有所帮助。

表格单元格的标准行为是拉伸以适应其内容。根据单元格的宽度断开单词需要编写脚本


溢出:hidden只会切断其余单词,Outlook 2007/2010不支持它。

如果消息是字符串,则可以使用PHP执行以下操作:

$stringChunkArray = str_split($string, 45); // 45 = desired char count
foreach ($stringChunkArray as $line) {
    echo $line.PHP_EOL;
}

这将保证每行45个字符…

这对我来说很有效,只需根据需要调整高度即可

blog_content  {
    display: inline-block;
    border: 0px;
    height: 600px;
    overflow: hidden;
}

我尝试了
空白:nowrap
,但这只是将整个文本放在一行中,我实际上希望它进行换行,但要确保它通过断开单词hanks来充分利用两行中的宽度,但我想我无法使用这种方法显示省略号。。我是否可以在服务器端对字符串进行预处理以实现所需的行为?是的,您可以使用任何服务器端技术在服务器端使用字符串操纵功能将字符串截断为所需的长度,问题是您在服务器端工作的环境是什么,或者您最熟悉的服务器端技术是什么?您可以做的另一件事是使用客户端javascript截断文本。@Sainath我添加了一个服务器端替代方案。
blog_content  {
    display: inline-block;
    border: 0px;
    height: 600px;
    overflow: hidden;
}