李:最后的孩子似乎并不IE8工作(li:last-child doesn't seem to

2019-06-25 09:16发布

下面是我的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告诉伪选择是suppported.Any帮助这个!

Answer 1:

你读错。 它说,它不是在IE8的支持:

如果你正在看:first-child ,它确实有在IE7和IE8的支持,并认为同样适用于:last-child ...惊喜! 事实并非如此。

:first-child是一个CSS2选择,但:last-child只在CSS3介绍,如此以来,微软只瞄准CSS2.1符合IE8,他们可能没有理会:last-child ,直到后IE8。

如果你知道你将只有四天li的元素,那么你应该能够使用相邻同胞选择到达第四li

.footerMenu li:first-child + li + li + li


Answer 2:

要建立在其他人的答案,另一种可能是使用JavaScript来填补国内空白,selectivizr是将最后的子女抚养费的一个很好的例子。

http://selectivizr.com/



Answer 3:

您提供的链接表明,它不支持IE8 ... IE9 +只。 谷歌搜索最后孩子IE8带来了类似的查询一大堆。



Answer 4:

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

(头向下移动,为您提供方便)



Answer 5:

其他的答案是正确的,IE8不支持最后的孩子。 然而,为您解决特定的问题,您既可以一)一类手动添加到最后一个<li>或b),因为这是一个菜单,这将可能有它们内部链接,目标与属性选择器的最后一个环节,这确实在IE8工作。 就像是

.footermenu a[href="contact.html"] { ... }


Answer 6:

尝试使用类似的东西:

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


Answer 7:

我知道它老了,但...有一个简单的方法来做到这一点:

就在李想要改变这样做:

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



文章来源: li:last-child doesn't seem to work in IE8