解决text-overflow: ellipsis;不生效的问题

举报
tea_year 发表于 2021/12/30 00:36:13 2021/12/30
【摘要】 视频课堂https://edu.csdn.net/course/play/7621  按照text-overflow: ellipsis;使用规则,在标签样式中添加该属性未生效,例如: 写道 .text { text-overflow: ellipsis; } <div class="text"&g...

视频课堂https://edu.csdn.net/course/play/7621


 按照text-overflow: ellipsis;使用规则,在标签样式中添加该属性未生效,例如:

写道
.text {
text-overflow: ellipsis;
}

<div class="text">长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字</div>

         之后,发现并没有达到我们想要的预期效果,其实还需要另外2个CSS属性的支持:

写道
.text {
text-overflow: ellipsis;
white-space: nowrap; 
overflow: hidden;
}

<div class="text">长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字</div>

         其中,white-space是设置文本不换行,overflow设置标签超出部分自动隐藏,另外提醒,该CSS属性在某些浏览器上不生效,如果不需要照顾不兼容的浏览器,比如IE,可以放心大胆使用。


当把text-overflow设为ellipsis时文本溢出内容就能显示为省略标记,而设为clip时就能把文本溢出的部分裁切掉,不过在表格里面使用text-overflow后依旧不能隐藏超出的文本,具体解决方法祥看本文
      在w3cschool中css3中有个文本相关的属性text-overflow,当把它设为ellipsis时文本溢出内容就能显示为省略标记,而设为clip时就能把文本溢出的部分裁切掉,当然,前提是设置好两个属性,那就是white-space:nowrap(强制文本在一行内显示)及overflow:hidden(溢出内容为隐藏),也就是要同时有 

     代码如下:

text-overflow:ellipsis或clip; 
white-space:nowrap; 
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:hover 

text-overflow:inherit; 
overflow:visible; 
}

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/79634842

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。