Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ie8 css3中选择最后一个孩子的问题_Css_Internet Explorer 8_Responsive Design - Fatal编程技术网

在ie8 css3中选择最后一个孩子的问题

在ie8 css3中选择最后一个孩子的问题,css,internet-explorer-8,responsive-design,Css,Internet Explorer 8,Responsive Design,我使用百分比生成响应网格。 我在用这个 [class*=col-] + [class*=col-]:last-child{margin-right:0} 对于查找并将最后一列边距替换为0,以便我对这些伪元素有问题,有什么帮助吗 IE8不支持:最后一个子项。它确实支持:第一个孩子,但不支持:最后一个孩子 这是因为IE8是为支持CSS2.1而设计的::第一个子项在CSS2.1规范中,但:最后一个子项仅在CSS3规范中 在许多情况下,如果您需要支持IE8,解决此问题的最佳方法是重新考虑布局,以便使用

我使用百分比生成响应网格。 我在用这个

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

对于查找并将最后一列边距替换为0,以便我对这些伪元素有问题,有什么帮助吗

IE8不支持
:最后一个子项
。它确实支持
:第一个孩子
,但不支持
:最后一个孩子

这是因为IE8是为支持CSS2.1而设计的:
:第一个子项
在CSS2.1规范中,但
:最后一个子项
仅在CSS3规范中

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

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

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

继续讨论如何支持IE8,但仍然使用
:last child
。有很多方法可以做到这一点,但它们涉及到使用Javascript多边形填充。据我所知,有两个脚本可以为您提供帮助:

其中,Selectivizr是一款较新的软件,只影响CSS选择器,而IE9.js则较旧,它试图修补不同版本IE中的许多bug、漏洞和缺失的功能。这两款软件都能帮你解决问题;试试看

希望有帮助