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