由微软发起的,告别IE6,你参加了吗? 如果是站长的话,还可以把自家的Logo放在上面,还等什么呢? http://theie6countdown.cn/
是时候对IE6说再见了
星期一, 七月 18th, 2011ie6 javascript:void(0);
星期三, 二月 16th, 2011遇到过几次这种问题,现在总结一下。 代码: <a onclick="window.location.href=’http://www.google.com’" href="javascript:void(0);">google</a> 这段代码在主流的浏览器里面都没问题,但是在IE6下就会出现不能跳转的现象。 经过一翻排查,发现绑定的事件都会执行,是由于DOM本身的冒泡事件所以会最后执行href属性内的javascript:void(0);导致的。 a标签 a标签本来就是用来进行页面跳转的标签,其运行机制是告诉浏览器URL地址并且跳转。当然,我们可以在href属中直接执行javascript。 代码: <a href="javascript:alert(‘Hello!’);">Say Hello</a> Say Hello 这里由于javascript执行了alert函数,但是其返回的是null。所以a标签没有执行任何动作。 javascript:void(0); void(arg);可以理解为永远返回null的函数,但是其参数不能为空。其参数可以为任意的表达式甚至是函数。 代码: <a href="javascript:void(name = ‘will’); alert(‘Hello ‘ + name);">Say Hello</a> Say Hello 对IE6运行的猜想 IE6会先运行DOM本身绑定的事件,如onclick;如果没有阻止冒泡,则会顺序执行href属性。而void(0);正是不需要执行任何事件,则IE6告诉浏览器不执行任何事件(覆盖之前的动作),并且终止冒泡相当于return false;于是浏览器没有执行任何动作。 这样只要在onclick事件内阻止冒泡事件即可。 经过改进的代码为: <a onclick="window.location.href=’http://www.google.com’ return false;" href="javascript:void(0);">google</a> 这样在IE6下就可以正常运行了。 其他方法 当然可以不使用javascript:void(0);而改使用#也可以避免,href属性内的#本来的意思就是锚点#name所以当不指定任何锚时自然会到页面顶端并在URL后加入Hash symbol。 这里对于锚还有一个比较特殊的用法 当href属性的值是锚点时,但是又找不到该锚点,则相当于返回null,所以可以使用##来代替javascript:void(0); 当然前提是你的页面不要有锚点的名字是#的哟~
ie z-index bug
星期五, 十月 8th, 2010在IE6与7上最经常遇到的就是z-index无效。 一般来讲,ie对父级的要求比较高,如果父级有position属性,但是没有给z-index属性,那默认都是0,所以不论子集里面有多高的z-index属性,都是没用的。 所以一般情况下,需要给包含z-index属性的父级一个z-index:1的属性,这样可以解决很多莫名其妙的问题。 这样虽然简单的层级问题可以解决,但是如上图,同级之间的层级问题又出现,相同层级的同辈元素z-index属性下面的比上面的高。 这种问题一般都出现在制作下拉菜单时比较常见。 解决方法与上面一样,需要给当前较高的z-index属性。 题外话:这种下拉菜单虽然比较好用,但是兼容性其实比较差,而且嵌套的层次比较多。 对于复杂的DOM模型在不同的浏览器下差异还是挺大的。所以尽量简化用新的结构可能更适合。
IE6特殊的Bug
星期四, 九月 17th, 2009今天在做东西时,发现在一个ie6有趣但是又很无语的Bug,见图: IE6下 正常效果 CSS .t { background: #ccc; border: 1px solid #ccc; width: 500px; } .t0 { margin: 0; } .t1 { float: left; margin-left: 2%; background-image: url(images/test-boder.jpg); height: 180px; position: relative; width: 10%; } .t2 { float: right; margin: 0; } HTML <div class=”t”> <div class=”t1 t0″> thi is t1 </div> <div class=”t1″> thi [...]
