在HTML中,文本溢出显示省略号

2025-10-20 13:11:40

在HTML中常常为了设计美观,要求对溢出文本进行省略处理,单行多行的情况都有具体几行得看设计布局,这篇随笔是我个人对这种情况解决办法的归纳,欢迎网友指教。

在HTML中,文本溢出显示省略号

工具/原料

HTML

css

CSS overflow 属性

CSS3 text-overflow 属性

CSS white-space 属性

CSS overflow 属性

所有主流浏览器都支持 overflow 属性。

注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

overflow 属性规定当内容溢出元素框时发生的事情。

在HTML中,文本溢出显示省略号

overflow:visible;

注释:默认值。内容不会被修剪,会呈现在元素框之外。

overflow:hidden;

注释:内容会被修剪,并且其余内容是不可见的。

overflow:scroll;

注释:内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。

overflow:auto;

注释:如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

overflow:inherit;

注释:规定应该从父元素继承 overflow 属性的值。

<html>

<head>

<style type="text/css">

body{

width:300px;

}

div 

{

background-color:#ff7777;

width:300px;

height:100px;

overflow: scroll;

}

</style>

</head>

<body>

如果元素中的内容超出了给定的宽度和高度属性,overflow 属性可以确定是否显示滚动条等行为。

<div>

这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。默认值是 visible。

</div>

</body>

</html>

CSS3 text-overflow 属性

浏览器支持:IE/Firefox/Chrome/Safari/Opera

在HTML中,文本溢出显示省略号

定义和用法:text-overflow 属性规定当文本溢出包含元素时发生的事情。

text-overflow语法:text-overflow: clip|ellipsis|string;

在HTML中,文本溢出显示省略号

<!DOCTYPE html>

<html>

<head>

<style> 

div.test

{

white-space:nowrap; 

width:12em; 

overflow:hidden; 

border:1px solid #333;

}

div.test:hover

{

text-overflow:inherit;

overflow:visible;

}

</style>

</head>

<body>

鼠标移动到下面两个 div 上,就能够看到全部文本。

这个 div 使用 "text-overflow:ellipsis" :

<div class="test" style="text-overflow:ellipsis;">This is some long text that will not fit in the box</div>

这个 div 使用 "text-overflow:clip":

<div class="test" style="text-overflow:clip;">This is some long text that will not fit in the box</div>

</body>

</html>

CSS white-space 属性

浏览器支持

所有浏览器都支持 white-space 属性。

注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

如:IE/Firefox/Chrome/Safari/Opera

定义和用法:

white-space 属性设置如何处理元素内的空白。

这个属性声明建立布局过程中如何处理元素中的空白符。值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的。

可能的值:

white-space:normal;默认。空白会被浏览器忽略。

white-space:pre;空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。

white-space:nowrap;文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。

white-space:pre-wrap;保留空白符序列,但是正常地进行换行。

white-space:pre-line;合并空白符序列,但是保留换行符。

white-space:inherit;规定应该从父元素继承 white-space 属性的值。

在元素中禁止文本折行:

<html>

<head>

<style type="text/css">

p

{

white-space: nowrap

}

</style>

</head>

<body>

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

在元素中禁止文本折行。

</body>

</html>

省略号案例在线演示

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<title>省略号案例在线演示</title> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<style type="text/css"> 

*{ padding:0; margin:0} 

a{ text-decoration:none;color:#6699ff} 

ul,li{ list-style:none; text-align:left} 

#divp{border:1px #ff8000 solid; padding:10px; width:150px; 

margin-left:10px; margin-top:10px} 

#divp li{width:150px;height:24px;line-height:24px; font-size:12px; 

color:#6699ff;overflow:hidden;text-overflow:ellipsis; 

border-bottom:1px #ff8000 dashed;} 

#divp li a:hover{ color:#333} 

/* css注释说明:为了便于截图、文章中能排版完整 所以css代码进行换行 不影响功能 */ 

</style> 

</head> 

<body> 

<ul id="divp"> 

<li><a href="#"><nobr>&#8226; 显示不完显示省略号,测试内容</nobr></a></li> 

<li><a href="#"><nobr>&#8226; 第二排测试内容超出显示省</nobr></a></li> 

<li><a href="#"><nobr>&#8226; 能显示完几个字</nobr></a></li> 

</ul> 

</body> 

</html> 

注意事项

多测试,熟悉每个代码属性及用法之后,可以使用到p、div等。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢