按钮在 IE 中两边被拉伸的 BUG

大家在写按钮(input、button)的时候会发现在 IE 下: 随着字数的增多,两边的间距也会越来越大。 在 WIN 的XP 风格下,当字数很多时,两边还会出现严重的锯齿。 到底是什么原因呢? 蓝色理想 原 WEB标准化专栏 的斑竹 zbm2001z 给出了一个答案: 1、IE 在按钮的 value 值每增加 4 个字节(汉字为 2 个)时,就会在按钮的两边产生总共一个字节的内边距宽度。 2、IE 的按钮(XP 风格)默认样式是一个固定尺寸的圆角矩形图片作背景,所以一旦按钮变宽变高后,这个固定尺寸的圆角矩形图片的边缘自然就会出现“拉毛”的现象了。 对于第二个问题我们暂时没办法去解决,除非 WIN 系统自己修复 BUG ,但对于第一个问题 ,我们还是可以修复的。 IE 下给按钮元素设置 overflow 属性的 visible 值(注 :padding 值仅在设置了overflow:visible 属性后才有效),这个属性... 27 条评论 »

IE 下 href 的 BUG

在浏览器 IE6 、IE7、Firefox2+、Firefpx3+、Opera9.6+、Safari3.1+中测试以下代码(Demo): <div id=”test”> <a href=”#”> test </a> </div> <div id=”result”></div> <script type=”text/javascript”> (function(){ var test = document.getElementById(‘test’); alert(test.innerHTML); var result = document.getElementById(‘result’); result.innerHTML = test.innerHTML; alert(result.innerHTML) })(); </script> 结果会发现,在 IE6、IE7 浏览器中第二次弹出的 result.innerHTML 中的 A 元素的 href 值成为了绝对路径。 其实先人们早遇到这些问题(感谢 玉伯 提供的资料): 《getAttribute(“HREF”) is always absolute》 《getAttribute href bug》 在上面的文章中已提及了处理方案,就是在 IE 下使用 getAttribute( ‘href’ , […]

... 23 条评论 »