表格里使用text-overflow后不能隐藏超出的文本的解决方法

本文介绍如何使用CSS的text-overflow属性配合其他属性,如white-space和overflow等,来实现文本溢出时显示省略号的功能,并介绍了在表格单元格中实现此效果所需的额外设置。

  在w3cschool中css3中有个文本相关的属性text-overflow,当把它设为ellipsis时文本溢出内容就能显示为省略标记,而设为clip时就能把文本溢出的部分裁切掉,当然,前提是设置好两个属性,那就是white-space:nowrap(强制文本在一行内显示)及overflow:hidden(溢出内容为隐藏),也就是要同时有

{ 
text-overflow:ellipsis或clip; 
white-space:nowrap; 
overflow:hidden; 
} 

  如果不想出现省略号,就设定高度(高度为一行文字的高度),同时去掉white-space:nowrap (此方法如果标签是td的话ie8是不兼容的)

{
    width: **px;
    height: **px;
    overflow: hidden; 
}

  

 

 

  因为之前有用过不少次这个属性,而且用得也都很顺利,所以最近在弄一些table的时候遇到了td内的内容太多而出现换行从而影响整体的美观的问题,所以我想把文本不换行而且让超出的文本能显示为省略号,于是我就很自然的就去用了上面那三属性并且也为td设置了长度和宽度,结果神了奇,一直没把超出的文本内容给换成省略号,尝试排除了各种我觉得有可能的影响后依旧不能解决,于是我只好去google一下,后来终于找到了原因,就是要在table的样式里定义一个属性 table-layout:fixed,综上,要想解决表格里面使用text-overflow后依旧不能隐藏超出的文本的问题,就必须完整的使用下面这些属性 

td{ 
text-overflow:ellipsis或clip; 
white-space:nowrap; 
overflow:hidden; 
width:**px; 
} 
table{ 
table-layout:fixed; 
} 

  也可以在td里面在嵌套一个span或div标签,在该标签上设置

span{
    display: block;
    width: **px;
    height: **px;
    white-space: nowrap;
    overflow: hidden; 
    text-overflow: ellipsis;
}

  还有如果想鼠标移动上去时显示被隐藏的文本内容,还可以设置

td:hover 
{ 
text-overflow:inherit; 
overflow:visible; 
} 

  

---------------------------------------------------------------------------------------------------------------------------------------------------------

  

1、text-overflow: ellipsis; 

这里的重点样式是  text-overflow: ellipsis; 

不过话说text-ellipsis是一个特殊的样式,有关解释是这样的:text-overflow属性仅是注解,当文本溢出时是否显示省略标记。并不具备其它的样式属性定义。要实现溢出时产生省略号的效果还须定义:强制文本在一行内显示(white-space:nowrap)及溢出内容为隐藏(overflow:hidden),只有这样才能实现溢出文本显示省略号的效果。

简单理解就是我要把文本限制在一行(white-space: nowrap;),肯定这一行是有限制的(width),并且你的溢出的部分要隐藏起来(overflow: hidden;),然后出现省略号( text-overflow: ellipsis)。

我在网上看到有很多人说opera不支持text-overflow,可能因为我用的是最新版本的,已经支持这个属性了,所以没办法测试,不过网上给支持低版本的opera一个办法,就是-o-text-overflow:ellipsis;

2、white-space

顺便解释一下white-space的用法

white-space属性声明建立布局过程中如何处理元素中空白符。(废话一句,这里的空白符应该指我们用键盘敲入的空格或回车,因为用 或<br>无论white-space设置什么都会有空格或回车。)

下面是wschool上white-space可能的值:

normal 默认。空白会被浏览器忽略。

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

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

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

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

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

转载于:https://www.cnblogs.com/refe/p/5015211.html

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
### 回答1: 在 IE8 中,可以使用 `text-overflow` 属性来实现文本溢出的省略号效果,但是需要注意以下几点: - 只有在设置了 `white-space: nowrap` 和 `overflow: hidden` 时,`text-overflow` 才会生效。 - 在 IE8 中,`text-overflow` 属性只支持 `clip` 和 `ellipsis` 两个值,不支持 `fade`。 - `text-overflow` 属性只对块级元素和表格单元格生效,在行内元素中无效。 下面是一个简单的示例代码: ```html <style> .container { width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } </style> <div class="container"> This is a long text that needs to be truncated if it exceeds the container width. </div> ``` 在这个例子中,我们将容器元素的宽度设置为 `200px`,同时设置了 `white-space: nowrap` 和 `overflow: hidden`,然后使用 `text-overflow: ellipsis` 来实现省略号效果。当文本超出容器宽度时,省略号会出现在结尾。 ### 回答2: IE8是Internet Explorer 8的简写,是一款早期的互联网浏览器。在IE8中,text-overflow属性用于控制在文本溢出容器时的显示方式。 text-overflow属性有以下几个可能的取值: 1. clip:当文本溢出容器时,将文本裁剪,并且不显示溢出部分。 2. ellipsis:当文本溢出容器时,用省略号(...)来表示溢出部分,并且不显示溢出部分。 3. inherit:继承父元素的text-overflow属性。 然而,在IE8中,只支持clip和ellipsis取值。而且,使用text-overflow属性进行文本溢出处理时,还需要设置其他几个属性来生效,包括: 1. white-space属性:用于控制换行和空白字符的显示方式,常用取值有normal、nowrap和pre-wrap等。 2. overflow属性:用于控制元素内容的溢出处理方式,常用取值有auto、scroll和hidden等。 3. width属性:用于设置元素的宽度。 需要注意的是,IE8对text-overflow属性的支持有一些限制,如不支持对表格单元格的文本进行溢出处理。因此,在使用text-overflow属性时,需要根据具体情况进行兼容性处理,或者考虑使用其他方法来实现文本溢出的效果。 总的来说,IE8中的text-overflow属性是用于控制文本溢出容器时的显示方式。虽然在IE8中的支持有限,但我们可以通过设置其他相关属性来达到相似的效果。 ### 回答3: IE8的text-overflow属性用于控制当一个元素内的文本过长时,如何进行溢出的处理。在IE8中,text-overflow属性有以下两个取值: 1. clip:表示文本溢出时直接裁剪掉,不显示溢出部分。 2. ellipsis:表示文本溢出时以省略号(...)代替溢出部分。 需要注意的是,在IE8中设置text-overflow属性只对部分元素有效,包括block容器、buttons、和input的text类型。对于其他类型的元素,如inline元素,text-overflow属性无效。 要使用text-overflow属性,需要将元素的overflow属性设置为hidden,以便隐藏溢出部分。另外,还需要设置元素的width属性,以限制文本的宽度。 举个例子,如果我们有一个div元素,并且想要当文本内容过长时以省略号代替溢出部分,可以按照以下方式设置: ```html <div style="width: 200px; overflow: hidden; text-overflow: ellipsis;"> 这是一个超长的文本内容,如果超出200像素的宽度,将以省略号显示溢出部分。 </div> ``` 上述代码中,指定了div元素的宽度为200px,overflow属性为hidden,text-overflow属性为ellipsis。这样,当文本内容超过200像素的宽度时,将以省略号代替溢出部分显示。 需要注意的是,IE8和其他现代浏览器对于text-overflow属性的实现可能存在差异,因此在开发时需要谨慎使用,并进行适当的兼容性测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值