博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery-ui 小图标 IE6/7下 显示空白问题
阅读量:6039 次
发布时间:2019-06-20

本文共 1347 字,大约阅读时间需要 4 分钟。

  hot3.png

最近在项目中用到了JQUERY-UI CSS FRAMWORK中的图标(icons),反正都用JQUERY-UI了,用这个图标也挺方便的.

这样就可以显示出一个小铅笔的图标,在一般浏览器下都不会出现问题,但是在IE6/7 下面,图标会显示为空白,经过前台调试发现是 text-indent出现的问题,继而查找解决方案:

CSS text-indent 属性

定义

text-indent 属性规定文本块中首行文本的缩进。

注释:允许使用负值。如果使用负值,那么首行会被缩进到左边。

注意:在 CSS 2.1 之前,text-indent 总是继承计算值,而不是声明值。

说明

用于定义块级元素中第一个内容行的缩进。这最常用于建立一个“标签页”效果。允许指定负值,这会产生一种“悬挂缩进”的效果。

默认值: not specified
继承性: yes
版本: CSS1
JavaScript 语法: object.style.textIndent="50px"

下面引用网上找到的解决方案:()

表单中有时候为了美观,放弃默认的button,而使用背景图片(提交(type=submit)和重置(type=reset)按钮),而考虑到 SEO因素,按钮的 value值不能为空,但又不能在页面上显示出来。这时候我们一般用text-indent:–9999px;overflow:hidden;来隐藏。

在实际应用中,考虑到seo,很多button,icon都要用到inline-block和text-indent来处理,例如:

Button
css我习惯写成这样
.btn{display:inline-block; width:100px; height:23px; text-indent:-9999px;background-image:url(img.jpg);}
在标准浏览器下是没问题的,但是在IE6和7下会触发A标签消失的bug。
解决方法1:
display:inline-block;
改为:
display:block;
然后再做布局

解决方法2:

text-indent:-9999px;
改为:
font-size:0; line-height:0;
或者各种可以隐藏掉内容元素的方法。

解决方法3:

 Button
在按钮前面增加任何元素,都可以让消失的按钮重新出现。

解决方法4:

给元素加 position:absolute;

PS:inline或inline-block元素设置text-indent在IE6/IE7中显示不正常的bug致使text-indent会传递到父及元素,也就出现了上文中的结果。
造成这种情况的原因应该是IE6/IE7并没有真正实现inline-block,而是通过设置display:inline-block触发了IE的layout,从而使内联元素拥有了inline-block属性的表症。
考察元素的默认样式,可知:input、select、button、textarea的默认display皆为inline-block,所以在布局时应加以注意…

转载于:https://my.oschina.net/i33/blog/102207

你可能感兴趣的文章
读取txt/csv/xml文件
查看>>
Java中String、StringBuffer和StringBuilder的区别
查看>>
FFmpeg数据结构AVBuffer
查看>>
Algs4-1.1.16给出exR1(6)的返回值
查看>>
Vuex
查看>>
swiper的理解
查看>>
04-1下载Win系统(装机助理)
查看>>
前端工程师面试题汇总(我的解析,可能不一定对)(css部分)
查看>>
HashMap遍历方式
查看>>
JS刷新窗口的几种方式
查看>>
AD域控制器通过组策略禁止USB设备
查看>>
JVM基本结构
查看>>
011——VUE中使用object与array控制class
查看>>
HDOJ 1280 前m大的数
查看>>
第三次作业
查看>>
animation和transition做动画的区别
查看>>
HDU 2068 RPG的错排
查看>>
shell常用命令
查看>>
AC日记——红色的幻想乡 洛谷 P3801
查看>>
Azure 媒体服务可将优质内容传输至 Apple TV
查看>>