2013-04-04 51 views
1

我有一个要求,我在做margin-left:第一,第四,第七等div元素为0。 我已经使用这个代码:对于IE版本低于9的没有javascript的第n个孩子(3n + 1)的替代方案9

div:nth-child(3n+1) { 
     margin-left: 0; 
    } 

但是,这并不在IE版本低于9的工作虽然我能够使用JavaScript来修复它,但我使用CSS需要一些解决方案。我会非常感谢帮助。

+0

为什么它*有*是CSS? – 2013-04-04 16:18:10

+0

使用CSS来修复IE的CSS引擎不支持的东西?那就好像试图用你的无法驾驶的汽车去开车... – 2013-04-04 16:18:26

+0

因为我希望我的应用程序在没有javascript的情况下工作 – 2013-04-04 16:19:25

回答

1

您无法使用CSS选择器模拟复杂的:nth-child()公式,除非您单独为每个元素重复硬编码的选择器,这将浪费时间,因此您可以使用JavaScript代替(例如,将类添加到那些元素然后由那个类选择)。

+0

雅这就是我也搜索我没有得到任何东西,或者更确切地说,我可以提供一个特定的类名到这些类和应用所需的CSS。 – 2013-04-04 16:25:48

0

如果不使用javascript,最简单的方法是将相关的div添加到您想要的CSS中。

HTML

<div class='my_class'>Hello World</div> 

CSS

.`my_class{margin-left: 0;}` 
+0

请您详细阐述一下,让观众更容易吗? – Freakyuser 2013-04-04 17:13:33