Easyui - tooltip 箭头在IE下无法显示的解决方法
  TEZNKK3IfmPf 2024年03月22日 29 0

EasyUI特殊情况下的BUG整理

该问题在IE下显示如下:

Easyui - tooltip 箭头在IE下无法显示的解决方法

 

放大后:

Easyui - tooltip 箭头在IE下无法显示的解决方法

 

可以看到本该是箭头的位置,出现了一个缺口,很影响美观。。

解决方法有两种,一种最简单的方式就是在IE下不显示箭头。

只需要一条CSS即可:

/*隐藏提示的箭头*/
.tooltip .tooltip-arrow-outer,.tooltip .tooltip-arrow{display:none\9;}

隐藏箭头之后,上面的短线就会闭合,没有箭头总比缺口强,但是没有箭头效果也不好。

第二种方法要麻烦很多,需要修改js和css

这种修改方法的原理就是用两个不同颜色的◆显示,通过1px的错位来模仿边框。

js修改如下(针对版本1.3.4):

先来截图看改动以及整体的位置:

Easyui - tooltip 箭头在IE下无法显示的解决方法

下面是2393行修改后的代码:

tip=$("<div tabindex=\"-1\" class=\"tooltip\">"+"<div class=\"tooltip-content\"></div>"+"<div class=\"tooltip-arrow-outer\">◆</div>"+"<div class=\"tooltip-arrow\">◆</div>"+"</div>").appendTo("body");

和原来不一样的地方只是增加了两个◆

第2407和2408两行只是将bc改为“color".

然后是修改CSS,修改也比较容易。

先上图:

Easyui - tooltip 箭头在IE下无法显示的解决方法

 

下面是CSS(easyui.css)代码:

.tooltip {
position: absolute;
display: none;
z-index: 9900000;
outline: none;
opacity: 1;
padding: 5px;
border-width: 1px;
border-style: solid;
border-radius: 5px;
-moz-border-radius: 0px 0px 0px 0px;
-webkit-border-radius: 0px 0px 0px 0px;
border-radius: 0px 0px 0px 0px;
}
.tooltip-content {
font-size: 12px;
}
.tooltip-arrow-outer,
.tooltip-arrow {
position: absolute;
}

.tooltip-right .tooltip-arrow-outer {
left: 6px;
top: 50%;
margin: -6px 0 0 -13px;
}
.tooltip-right .tooltip-arrow {
left: 7px;
top: 50%;
margin: -6px 0 0 -12px;
}
.tooltip-left .tooltip-arrow-outer {
right: 6px;
top: 50%;
margin: -6px -13px 0 0;
}
.tooltip-left .tooltip-arrow {
right: 7px;
top: 50%;
margin: -6px -12px 0 0;
}
.tooltip-top .tooltip-arrow-outer {
bottom: 5px;
left: 50%;
margin: 0 0 -13px -6px;
}
.tooltip-top .tooltip-arrow {
bottom: 6px;
left: 50%;
margin: 0 0 -12px -6px;
}
.tooltip-bottom .tooltip-arrow-outer {
top: 6px;
left: 50%;
margin: -13px 0 0 -6px;
}
.tooltip-bottom .tooltip-arrow {
top: 7px;
left: 50%;
margin: -12px 0 0 -6px;
}
.tooltip {
background-color: #f8f0e3;
border-color: #d4a375;
color: #404040;
}

只是一些小的改动,调整了一些值,还有就是删除了下面的CSS

.tooltip-right .tooltip-arrow-outer {
border-right-color: #d4a375;
}
.tooltip-right .tooltip-arrow {
border-right-color: #f8f0e3;
}
.tooltip-left .tooltip-arrow-outer {
border-left-color: #d4a375;
}
.tooltip-left .tooltip-arrow {
border-left-color: #f8f0e3;
}
.tooltip-top .tooltip-arrow-outer {
border-top-color: #d4a375;
}
.tooltip-top .tooltip-arrow {
border-top-color: #f8f0e3;
}
.tooltip-bottom .tooltip-arrow-outer {
border-bottom-color: #d4a375;
}
.tooltip-bottom .tooltip-arrow {
border-bottom-color: #f8f0e3;
}

因为不需要使用border实现箭头,所以和border有关的(箭头)基本都去掉了。

修改后的箭头在谷歌浏览器和IE8中正常显示,其他浏览器未测试。如有疑问,欢迎讨论!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月22日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年03月30日   94   0   0 css
  TEZNKK3IfmPf   2024年03月29日   106   0   0 浏览器
  TEZNKK3IfmPf   2024年03月22日   65   0   0 jQueryeasyui
TEZNKK3IfmPf