li:last-child似乎不能在IE8中运行

时间:2012-05-29 13:48:49

标签: html css css3 internet-explorer-8 css-selectors

下面是我的html结构

<div class="footerMenu">
   <ul>
     <li>Home</li>
     <li>About</li>
     <li>Feedback</li>
     <li>Contact us</li>        
   </ul>            
</div>

但是

.footerMenu li:last-child { } 

选择器似乎在IE8中不起作用。但是http://msdn.microsoft.com/en-us/library/cc351024%28VS.85%29.aspx告诉伪选择器是支持的。对此有任何帮助!

7 个答案:

答案 0 :(得分:27)

你读错了。它说它在IE8中支持

如果您正在查看:first-child,它确实在IE7和IE8中有支持,并认为这同样适用于:last-child ...惊喜!它没有。

:first-child是一个CSS2选择器,但:last-child仅在CSS3中引入,因此,由于Microsoft只针对CSS2符合IE8,因此他们可能不会对{{1}感到烦恼。直到后IE8。

如果您知道自己只有四个:last-child个元素,那么您应该可以使用相邻的兄弟选择器来达到第四个li

li

答案 1 :(得分:2)

基于其他人的答案,另一种选择可能是使用javascript填补空白,选择性是添加最后一个孩子支持的一个很好的例子。

http://selectivizr.com/

答案 2 :(得分:1)

您提供的链接显示IE8仅支持IE9 +。谷歌搜索最后一个孩子IE8带来了大量类似的查询。

答案 3 :(得分:1)

你在哪里读到的? IE7支持:first-child,但:last-child是IE9及更高版本。

No, it doesn't.

(Headers为了您的方便而向下移动)

答案 4 :(得分:0)

其他答案是正确的,IE8不支持last-child。但是,要解决您的特定问题,您可以a)手动将类添加到最后<li>或b),因为这是一个菜单,这些可能会在其中包含链接,使用属性定位最后一个链接选择器,它在IE8中工作。像

这样的东西
.footermenu a[href="contact.html"] { ... }

答案 5 :(得分:0)

尝试使用类似的东西:

.footerMenu li {background-color: expression(this.previousSibling==null?'red':'green');}

答案 6 :(得分:0)

我知道它已经老了但是......有一种简单的方法可以做到:

只是在你希望改变的li中这样做:

<li style="yourstyle;"> ... </li>