IE6不支持first-child的解决方法

web前端1554313年前 (2012-06-18)

 乌龙猫网站昨日刚刚上线,后来在IE6下发现侧边栏的智能浮动中,第一个模块的margin-top不为0,这个原本在CSS中已经定义的样式为:

HTML:

<div class="sidebar_block"></div>

CSS:

.sidebar_block:first-child { margin:0; }

遇到IE6不支持first-child伪类不是第一次了,平时都是用jquery解决,只要用一句:$(.sidebar_block:first).css();即可,今天发现了一个用CSS可以解决的方法,能用css解决咱干嘛还要用js呢。

长话短说,步入正题,让IE6支持first-child伪类的CSS代码为:

.sidebar_block { * margin-top: expression(this.previousSibling==null?'0':'0px'); }

这样一来第一个class="sidebar_block"的DIV上边距变为0。有朋友会问,这样一句CSS就能解决IE6不支持first-child的问题,那么如果需要使用last-child这个样式怎么写呢?下面就给大家列举last-first的写法:

.sidebar_block { * margin-left: expression(this.nextSibling==null?'0':'0px'); }

以上就是CSS实现IE6支持first-child与last-child伪类的方法,如果有问题欢迎您的评论。