3

我试图:last-child与 IE8 一起使用,但是在阅读了关于这里的几个线程之后,确定,它只是没有发生'bub。所以 - 我采用了下一个最佳路线,即使用 jQuery 用 CSS 附加到last-child类上,执行以下操作:

$('.section-header > span:last-child').addClass('last-child');

它确实在 IE8 中添加了适当的类。但是,当我去设计风格时,它似乎不起作用。这在网站上的几个地方很明显,位于此处(与 Chrome 等真正体面的浏览器相比):

  • 顶部导航,不删除项目的最后一个border-right属性<li>
  • #top-grid不添加箭头(使用:beforeand :after
  • .section-header不应用padding-left我已经为两者指定:last-child.last-child(使用 jQuery 完成)
  • 日历,不向选定选项卡添加顶部边框颜色

所以 - 显然有很多不一致的领域 - 我并不是真的在寻找“这是你如何单独修复每一个”,更多的是“这是你对 IE8 缺少的概念”。我已经尝试过声明一个文档类型(另一个线程已经提到过),但几个小时后,你开始让自己发疯:) 我真的很感激任何朝着正确方向的轻推。谢谢!

4

1 回答 1

3

问题是您将您的选择器:last-child.last-child选择器分组在同一个规则集中。这会导致 IE8 由于:last-child部分原因而忽略整个规则集,这意味着它也会忽略您的.last-child部分。

由于无论如何您都在使用 jQuery 添加类,因此您最好删除选择器的:last-child一部分并让它在所有浏览器中工作。

或者,如果您希望禁用脚本的浏览器查看您的:last-child规则,则必须拆分选择器并为每个选择器复制样式规则。

于 2012-10-20T13:28:34.587 回答