ie8渲染模式下的文本超长显示...,出现...与内容重叠的问题

无关紧要的前言

之前开发遇到问题都是随手记录在纸上或本子上,后期翻阅、查看总是有各种问题,所以决定也开始编写自己的博客,当作一个在线笔记本,以便自己复习。同时也希望能给其他人带来一些帮助。

问题描述

最近在IE8中遇到一个奇怪的问题,就是在ie8的ie8文本模式下,文本内容超长显示“...”,出现“...”与文本内容重叠的现象,且"..."的展现形式为与期待的有所不同,会垂直居中。(此时电脑系统为WIN10,ietester不能正常打开网页,就不粘截图了,后续有机会再补充)

简单测试代码
css内容:
.label-warp{display: block;width:30px;}
.ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
html内容
<label class="label-warp ellipsis">请输入您的用户名:</label>

问题解决过程:

1、通过设置宽度没效果;总能找到恰好会重叠的样例;
2、网上查询相关问题解决方案,未果;
3、发现同一页面之下,有正常的情况,有异常的情况,对比当前元素、父元素层层节点的样式,仍然未解决问题;

发现原因:

后偶然之间发现出现问题的元素的内容全部是以中文开头的,且‘...‘的展现形式偏向中文;

解决问题:

发现原因之后的解决思路就是在内容前面追加一个英文的空格,大体方案有三种;

1、在每个包含'ellipsis‘类的元素的内容前面添加" "
<label class="label-warp ellipsis">&nbsp;请输入您的用户名:</label>
2、需要修改项比较多时,可以通过js操作处理:
<!--此处采用了jquery-->
function init() {
    <!--遍历全部ellipsis类,逐个添加英文空格-->
    $('.ellipsis').each(function () {
        var text = ' '+$(this).text();
        $(this).html(text);
    })
}
init();
3、采用css伪元素追加内容(个人推荐该方法,注意:''之间有个空格):
.ellipsis:before{content: ' ';}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,816评论 1 92
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 2,228评论 0 8
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,884评论 0 6
  • 产品的3D动画展示的4种实现思路 直接用gif动态图或完整视频,大家都懂滴! js截取控制某部分视频,比如:mac...
    恬雅过客阅读 204评论 0 1
  • 老残游记这本书是清代刘鹗所作,讲述的是一个原姓铁,号补残的山东游客虚构的游记,内容不外乎除恶济贫,结交挚友,下面讲...
    喵鱼儿阅读 827评论 1 2