用css实现文字自动隐藏

博客介绍了CSS中overflow和text-overflow属性。overflow版本为CSS2,有visible、auto、hidden、scroll等取值,用于管理对象内容超出尺寸时的显示;text-overflow是IE6+专有属性,有clip和ellipsis取值,用于标示对象内文本溢出。还给出了对应示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不可换行 <NOBR></NOBR> (不换行)
 
overflow
版本:CSS2  兼容性:IE4+ NS6+ 继承性:无
 
语法: 
 
overflow : visible | auto | hidden | scroll
 
参数:
 
visible :  不剪切内容也不添加滚动条。假如显式声明此默认值,对象将被剪切为包含对象的window或frame的大小。并且 clip属性设置将失效
auto :  此为 body对象和 textarea的默认值。在需要时剪切内容并添加滚动条
hidden :  不显示超过对象尺寸的内容
scroll :  总是显示滚动条
 
说明:
 
检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。
设置textarea对象为hidden值将隐藏其滚动条。
对于table来说,假如 table-layout属性设置为fixed,则td对象支持带有默认值为hidden的overflow属性。如果设为hidden,scroll或者auto,那么超出td尺寸的内容将被剪切。如果设为visible,将导致额外的文本溢出到右边或左边(视 direction属性设置而定)的单元格。
自IE5开始,此属性在MAC平台上可用。
对应的脚本特性为overflow。 
示例:
 
body { overflow: hidden; }
div { overflow: scroll; height: 100px; width: 100px; }

text-overflow版本:IE6+专有属性 继承性:无

 
语法:
 
text-overflow : clip | ellipsis
 
参数:
 
clip :  不显示省略标记(...),而是简单的裁切
ellipsis :  当对象内文本溢出时显示省略标记(...)
 
说明:
 
设置或检索是否使用一个省略标记(...)标示对象内文本的溢出。
对应的脚本特性为 textOverflow。请参阅我编写的其他书目。
 
示例:
 
div { text-overflow : clip; }

代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<table width="100%"  border="1" cellspacing="2" cellpadding="2" style="table-layout:fixed">
  <tr>
    <td width="10%">s</td>
    <td><div STYLE="width:60%; overflow:hidden;text-overflow:ellipsis"> <nobr> asdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdata goes here </nobr></div></td>
    <td width="30%">&nbsp;</td>
  </tr>
  <tr>
    <td>d</td>
    <td><div STYLE="width:60%; overflow:hidden;text-overflow:ellipsis"> <nobr> asdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdata goes here </nobr></div></td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>
<think>好的,我需要帮助用户解决如何使用CSS实现文字溢出时自动隐藏并显示省略号的问题。用户提到他们之前的问题和引用,我需要参考这些引用中的信息,但也要确保回答准确且符合最新标准。首先,我应该回忆一下CSS中处理文本溢出的常用属性。记得主要有三个属性:white-space、overflow和text-overflow。可能还需要结合其他属性,比如direction来控制文本方向,或者word-break处理断词。 用户提供的引用中有提到单行和多行的情况。引用1提到使用direction: rtl来隐藏左边的文字,引用2和3展示了单行文本的处理,引用4和5提到了固定宽度的DIV和自动隐藏。需要确认这些方法是否仍然有效,或者是否有更好的实践。单行文本溢出是最常见的需求,步骤应该是:设置容器宽度,禁止换行(white-space:nowrap),隐藏溢出内容(overflow: hidden),然后添加省略号(text-overflow: ellipsis)。这可能还需要考虑浏览器兼容性,不过这些属性在现代浏览器中支持良好。对于多行文本,传统上可能需要使用-webkit-line-clamp属性,但这是WebKit内核的,可能在其他浏览器中不兼容。不过现在大多数浏览器都支持了,但需要加上-webkit前缀。可能需要检查是否需要其他属性配合,比如display:-webkit-box和-webkit-box-orient:vertical。用户还提到可能需要隐藏左边的内容,比如右对齐文本时。这时候可以结合direction:rtl,使文本从右到左排列,这样溢出时会隐藏左边的内容,然后调整文本方向,可能需要额外的容器来保持正确的阅读顺序。另外,用户提供的引用中有示例代码,可以借鉴这些示例,但需要确保语法正确,比如是否需要使用特定的前缀或额外的属性。例如,引用5中的例子使用了word-break: keep-all,这可能在某些情况下需要,比如防止单词被截断。 总结一下,回答的结构应该分单行和多行两种情况,分别说明需要的CSS属性,并给出代码示例。同时提到隐藏左边内容的方法,以及注意事项,比如容器必须固定宽度,可能需要设置display属性等。最后,可以生成相关问题,帮助用户进一步学习。 需要验证每个步骤的正确性,比如是否必须设置white-space为nowrap,text-overflow是否依赖overflow和white-space属性。此外,多行省略的方法是否适用于所有情况,或者是否有其他替代方案。 最后,确保回答清晰,结构合理,代码示例正确,并且引用相关的引用内容,如引用1中的direction属性和引用2中的单行处理示例。</think>### CSS实现文字溢出隐藏并显示省略号的方法 #### 一、单行文本溢出隐藏 **核心代码**: ```css .ellipsis { width: 200px; /* 固定容器宽度 */ white-space: nowrap; /* 禁止换行 */ overflow: hidden; /* 隐藏溢出内容 */ text-overflow: ellipsis; /* 显示省略号 */ } ``` **原理**: 通过`white-space: nowrap`强制文本单行显示,`overflow: hidden`隐藏溢出部分,`text-overflow: ellipsis`添加省略号。需注意**容器必须有固定宽度**,否则无法触发溢出效果[^2][^3]。 #### 二、右对齐时隐藏左侧内容 **需求场景**: 当文字右对齐(如金额显示)且需要隐藏左侧溢出内容时,需结合`direction`属性调整文本方向[^1]: ```css .right-ellipsis { width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: rtl; /* 文本从右向左排列 */ text-align: left; /* 保持内容视觉左对齐 */ } ``` #### 三、多行文本溢出隐藏(如2行) **WebKit内核方案**: ```css .multiline-ellipsis { width: 200px; overflow: hidden; display: -webkit-box; /* 弹性盒模型 */ -webkit-box-orient: vertical; /* 垂直排列 */ -webkit-line-clamp: 2; /* 显示行数 */ } ``` **限制**:仅兼容Chrome、Safari等WebKit内核浏览器[^4]。 #### 四、注意事项 1. **容器属性**:必须设置`width`或`max-width` 2. **响应式布局**:在移动端需结合`@media`查询调整宽度 3. **代码验证示例**: ```html <div class="ellipsis">这是一段需要隐藏溢出并显示省略号的超长文本示例</div> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值