Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 溢出:隐藏点和多行文字的结尾_Html_Css - Fatal编程技术网

Html 溢出:隐藏点和多行文字的结尾

Html 溢出:隐藏点和多行文字的结尾,html,css,Html,Css,我正在使用ASP.NETMVC创建一个web应用程序,向用户显示一些文章 在div上有每一篇文章的摘要 目前,我正在summarydiv中加载全部内容,并为此设置样式overflow:hidden。结果是: 但是那条零碎的线(最后一行)很难看,而且整个内容都下载到用户的计算机上,这对速度和性能都不好。 我想要这样的东西:(下图是我的目标) (删除最后一行的零碎文本,并在文本末尾添加…) 另外,避免将全部内容下载到用户的计算机上也是一件好事 怎么做 有人知道这个问题的更好的标题吗 如果在浏览器

我正在使用ASP.NETMVC创建一个web应用程序,向用户显示一些文章

div
上有每一篇文章的摘要

目前,我正在summary
div
中加载全部内容,并为此设置样式
overflow:hidden
。结果是:

但是那条零碎的线(最后一行)很难看,而且整个内容都下载到用户的计算机上,这对速度和性能都不好。

我想要这样的东西:(下图是我的目标)

(删除最后一行的零碎文本,并在文本末尾添加

另外,避免将全部内容下载到用户的计算机上也是一件好事

怎么做


有人知道这个问题的更好的标题吗

如果在浏览器兼容性方面使用CSS3没有问题,可以使用CSS截断文本,如:


关于mozilla firefox,这是一个如何使用XMLs处理它的教程。您可以设置要显示的字符数,如果要显示的文本大于限制数,请截断:

if(text.Length > 200)
        {
            text.Substring(0, 200) + "..."; 
        }

或者,如果您正在构建系统,您可以创建一个有限的字段来保存预览文本,并在列表中显示预览文本,而不是大内容。首先,我认为应该在服务器端截断文本(到一定数量的字符)并添加省略号


然后,如果您只想使用CSS来实现这一点,那么只需将div的高度设置为自动。可能对所有人来说都不一样,但它看起来会很漂亮。

将文本放在另一个div中,并使用
高度
+
行高度

工作示例:

如果希望以省略号结尾,CSS3中没有多行文本的解决方案。您必须使用javascript,例如:


jquery自动省略号示例:

有多少文本?很难相信这样的文本内容会以任何方式影响性能,除非您有数千行。此外,您不能阻止仅使用HTML和CSS下载内容。每个div包含一篇完整的博客文章。下载所有最新的帖子不是一个好主意,尤其是对于低速互联网连接……同样,您需要限制服务器端的文本。@Juhana是的,但是如何知道需要多少文本?许多字体/语言没有固定宽度的字符。但是好的,我可以限制服务器端的文本。但更大的问题是,
和丑陋的问题!如何解决这个问题?(我必须在客户端执行此操作)
文本溢出:当块元素中只有一行文本时,省略号可以工作。但是如何知道限制数是多少?许多语言/字体没有固定宽度的字符…这是一个平均数,我用其他可行的解决方案更新了我的回复(我更喜欢预览文本)。我可能对内容有限制,并使用您建议的方法。(并在客户端纠正一些差异)但我不能在服务器中使用
,因为我不知道确切的所需长度。您知道添加
客户端的方法吗?(使用css、javascript等)我不知道您想要完全适合盒子的确切长度?这很难。。。这是最简单的让增长与限制包含div…非常感谢。我将使用有限的字符。一个超出所需文本的限制,我将使用
rogal111
的解决方案来隐藏这一点额外内容。我必须使用固定高度(我的布局不允许可变高度…)抱歉,我设置了错误的行高。现在检查。非常感谢,但我不明白autoellipsis jquery插件是如何工作的?因此,如果我使用autoellipsis,我不需要使用
height
+
line height
方法??是的,但您使用javascript进行显示格式设置-不建议这样做。如果可能,请始终使用CSS进行样式设置。是的,请查看:在运行自动省略号之前,使用jqeury设置
div.text
的维度。
if(text.Length > 200)
        {
            text.Substring(0, 200) + "..."; 
        }