是否可以使用CSS将文本长度限制为“n”行(或在垂直溢出时剪切)。

文本溢出:省略号;仅适用于1行文本。

原文:

Ultrices natoque mus mattis、aliquam、cras in pellentesquetincidunt elit purus lectus、vel ut aliquet、elementum nunc乌尔纳修女院!坐下!图比斯岛莫斯·廷西杜特!Dapibus sed aenean、magna sagitis、lorem velit

所需输出(2行):

Ultrices natoque mus mattis、aliquam、cras in pellentesquetincidunt elit purus lectus,velut aliquet,elementum。。。


当前回答

我一直在寻找这个,但后来我意识到,该死的我的网站使用php!!!为什么不在文本输入上使用修剪功能并播放最大长度。。。。

对于那些使用php的人,这里也有一个可能的解决方案:http://ideone.com/PsTaI

<?php
$s = "In the beginning there was a tree.";
$max_length = 10;

if (strlen($s) > $max_length)
{
   $offset = ($max_length - 3) - strlen($s);
   $s = substr($s, 0, strrpos($s, ' ', $offset)) . '...';
}

echo $s;
?>

其他回答

您可以执行以下操作:

.max行{显示:块;/*或内联块*/文本溢出:省略号;换行:换行;溢出:隐藏;最大高度:3.6em;线高:1.8em;}<p class=“max lines”>Lorem ipsum dolor坐amet,consectetur adipiscing elit。Nunc vitae leo dapibus,accumsan lorem eleifend,pharetra quam。Quisque前庭commodo justo,eleifend mollis enim blandit eu。Aenean hendrerit nisl et elit maximus finibus公司。Suspendis scelerisque consectetur nisl mollis sceleriske</p>

其中,最大高度:=线高度:×<线数>(单位:em)。

基本示例代码,学习代码很容易。检查样式CSS注释。

表tr{显示:柔性;}表tr td{/*启动*/显示:内联块;/*<-在显示css中防止<tr>*/文本溢出:省略号;空白:nowrap;/*完*/填充:10px;宽度:150px;/*空间大小限制*/边框:1px实心黑色;溢出:隐藏;}<表><tbody><tr><td>Lorem ipsum dolor坐amet,consectetur adipiscing elit。Nulla egestas erat ut luctus posuere。Praesent和commodo eros。在tellus中,Vestibulum eu nisl vel dui ultrices ultricies vel。</td><td>Praesent vitae tempus nulla。Donec vel porta velit公司。Fusce mattis enim前任Mauris eu malesuada ante。Aenean id aliquet leo,nec ultricies tortor。Curabitur non mollis elit。Morbi euismod ante amet iaculis pharetra。Mauris id ultricies urna。崩溃尼西多尔。Curabitur tellus erat,调味品ac enim non,varius tempor nisi。Donec dapibus justo odio,sed consequat eros feugiat feugiat。</td><td>Pellentesque mattis consequat ipsum sed sagitis。Pellentsque consectetur前庭odio,aliquet auctor ex elementum sed。悬疑门massa nisl,quis interstie libero auctor varius。Ut erat nibh,流苏状舌舌Ut,iaculis interdum sapien。我的格言,坐在我的圣经中间。</td></tr><tr><td>Sed viverra massa laoret urna dictum,et frigilla dui调戏。杜伊斯·波塔(Duis porta)、弗内纳蒂斯前舌(ligula ut venenatis pretium)、智人(sapien tellus blandit felis)、非龙虾(non-lobortis orci erated justo)。Vivamus hendrerit、iaculis vehicula、nibh nisi fermentum auge、sagitis的quamnibh dui等人。</td><td>Nullam mollis nullaa justo,nec tincidunt urna suscipit non。Donec malesuada dolor non dolor interdum,id ultrices neque egestas。整只怀孕大熊猫坐在直径为欧盟的地方。Etiam dignissim坐在自由大熊猫的地方,在consequat est阿利奎特。</td><td>猫的前庭,对其他动物来说,是一种非常重要的动物。Fusce egestas,volutpat impredite中的兽人,risus velit convallis sapien,sodales lobortis risus lectus id leo。Nunc vel diam vel Nunc congue finibus。龟头前庭,咽鼓管,耳鼻喉舌。Donec rutrum purus在tincidunt sagitis。只要你愿意就好了。</td></tr></tbody></table>

以下CSS类将文本限制为两行,并插入省略号以指示溢出的文本。

.two-line-ellipsis {
  overflow: hidden;
  width: 325px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

有一种方法可以使用非官方的换行符语法,从Firefox 68开始,它可以在所有主流浏览器中使用。

正文{边距:20px;}.text(文本){溢出:隐藏;文本溢出:省略号;显示:-webkit框;-webkit线夹:2;/*要显示的行数*/线夹:2个;-webkit框方向:垂直;}<div class=“text”>Lorem ipsum dolor坐amet,consectetur adipiscing elit。维内纳提斯·布拉迪(Aliquam consectetur venenatis blandit)。Praesent vehicula,libero non pretium vulputate,lacus arcu facilisis lectus,sed feugiat tellus nulla eu dolor。Nulla porta bibendum lectus quis euismod。Aliquam volutpat ultricies porttitor。克雷斯·里苏斯·尼西,accumsan vel cursus ut,sollicitudin vitae dolor。《圣经》中的Fusce scelerisque eleifend lectus。lacinia egestas suspendissa felis a volutpat。</div>

除非您关心IE用户,否则无需进行线高度和最大高度回退。

对于使用内联样式的反应者:

<p
style={{
    overflow: 'hidden',
    textOverflow: 'ellipsis',
    display: '-webkit-box',
    lineClamp: 2,
    WebkitLineClamp: 2,
    WebkitBoxOrient: 'vertical',
}}
>Some Text</p>