2012-08-09 78 views
2

我有一个默认的CSS文件的页面。在该页面中,我有:排除只有一个元素的CSS属性

<ul> 
    <li>A1</li> 
    <li>A2</li> 
</ul> 
<br> 

<ul> 
    <li>B1</li> 
    <li>B2</li> 
</ul> 
<br> 

<ul> 
    <li>C1</li> 
    <li>C2</li> 
</ul> 
<br> 

我可以查看默认的CSS,但我不能修改

ul { 
    paddind-left:15px; 
} 

我想要做的是排除只从默认的CSS B1和B2。 A和C仍应具有默认属性,但B1和B2应具有PADDING-LEFT:0PX;

我已经使用(cssreset-min.css)但所有的CSS都被删除了。任何帮助?

回答

3

给父UL一个新的类:

<ul> 
    <li>A1</li> 
    <li>A2</li> 
</ul> 
<ul class="newClass"> 
    <li>B1</li> 
    <li>B2</li> 
</ul> 
<ul> 
    <li>C1</li> 
    <li>C2</li> 
</ul> 

然后做:

ul.newClass { 
    paddind-left:0px; 
} 

这将在所有的浏览器。如果你不关心这一点,请使用@Andy答案。如果你想申请这个3 list..simply名为div的使用不同的ID为B1,B2 ....但如果你想申请一个巨大的名单就很难

0

如果我理解正确,ul li:nth-child(3), ul li:nth-child(4) { padding-left: 0; }应该工作

的第n个孩子选择目标特定的孩子,在这种情况下,第三和第四

编辑:看到您的编辑后,新的代码,你将需要做的是:(我将使用的#container的名称为您的包含分区,不管它是什么)

#container ul:nth-child(2) li { padding-left: 0; }

0

0

这里的另一种解决方案,无需更改HTML:

ul:not(:nth-child(3)) { 
    padding-left:15px; 
} 

Example

这可能不适用于所有浏览器,您需要更改HTML并使用@Alex Thomas提供的答案。

相关问题