gpt4 book ai didi

css - 在 ie8 css3 中选择最后一个 child 的问题

转载 作者:行者123 更新时间:2023-11-28 12:18:42 26 4
gpt4 key购买 nike

我使用百分比制作响应式网格。我正在使用这个

[class*=col-] + [class*=col-]:last-child{margin-right:0}

查找最后一列边距并将其替换为 0,因此我对这些伪元素有疑问,对此有任何帮助!

最佳答案

IE8 不支持 :last-child。它确实支持 :first-child,但不支持 :last-child

这是因为 IE8 是为支持 CSS2.1 而设计的: :first-child 在 CSS2.1 规范中,而 :last-child 只在CSS3 规范。

在许多情况下,如果您需要支持 IE8,解决此问题的最佳方法是重构您的布局,以便使用 :first-child 而不是 :last-child

这个选项在很多情况下是一个很好的解决方案,并且对于支持 IE8 没有任何 hack,这是最好的方法,但它显然不适合所有情况(否则他们就不需要发明 :last-child )。您没有提供有关代码的足够信息,无法让我知道它是否适合您,但如果适合,这就是我的建议。

另一种选择是使用旧的回退解决方案,只需将一个类添加到适当的元素,并为该类而不是伪选择器设置样式。和老式的答案,但它会起作用。

继续讨论如何支持 IE8 但仍使用 :last-child。有很多方法可以做到这一点,但它们涉及使用 Javascript polyfill。我知道有两个脚本可以为您解决问题:

其中,Selectivizr 是较新的软件,仅影响 CSS 选择器,而 IE9.js 较旧,并试图修补各种版本的 IE 中的大量错误、漏洞和缺失的功能。两者都应该为您解决问题;试试看。

希望对您有所帮助。

关于css - 在 ie8 css3 中选择最后一个 child 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com