是否可以使用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。。。


当前回答

基本示例代码,学习代码很容易。检查样式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>

其他回答

我有一个很好的解决方案,但省略号使用了渐变。当你有动态文本时,它会起作用,所以你不知道它是否足够长,需要一个椭圆。优点是您不必进行任何JavaScript计算,它适用于包括表格单元格在内的可变宽度容器,并且是跨浏览器的。它使用了一些额外的div,但它很容易实现。

标记:

<td>
    <div class="fade-container" title="content goes here">
         content goes here
         <div class="fade">
    </div>
</td>

CSS:

.fade-container { /*two lines*/
    overflow: hidden;
    position: relative;
    line-height: 18px; 
    /* height must be a multiple of line-height for how many rows you want to show (height = line-height x rows) */
    height: 36px;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
    word-wrap: break-word;
}

.fade {
        position: absolute;
        top: 50%;/* only cover the last line. If this wrapped to 3 lines it would be 33% or the height of one line */
        right: 0;
        bottom: 0;
        width: 26px;
        background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}

博客文章:http://salzerdesign.com/blog/?p=453

示例页面:http://salzerdesign.com/test/fade.html

这对我有用:

第二部分{宽度:200px;}p型{显示:块;/*非webkit的回退*/显示:-webkit框;高度:2.6em;/*非webkit的回退,线宽*2*/线高:1.3em;-webkit线夹:2;/*如果更改此设置,请确保更改回退线的高度和高度*/-webkit框方向:垂直;溢出:隐藏;文本溢出:省略号;}<div><p>Lorem ipsum dolor坐amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore</p><div>

据我所知,这只可能使用高度:(一些em值);溢出:隐藏,即使这样它也不会有幻想。。。最后。

如果这不是一个选项,我认为没有一些服务器端预处理(很难,因为文本流不可能可靠地预测)或jQuery(可能但可能很复杂)是不可能的。

我一直在寻找这个,但后来我意识到,该死的我的网站使用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;
?>

截至(几乎)2023年,不再需要一些旧的css规则。

这些显示了所需的最小值,并且可以跨浏览器工作,尽管有前缀语法:

.line-clamp   { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; }
.line-clamp-2 { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.line-clamp-3 { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }