仅排除一个元素的CSS属性

时间:2012-08-09 08:48:13

标签: html 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都被淘汰了。有什么帮助吗?

5 个答案:

答案 0 :(得分:3)

给父母一个新类:

<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回答。

答案 1 :(得分:0)

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

第n个子选择器针对特定的孩子,在本例中为第3和第4个

编辑:看到你的编辑后,你需要做的新代码是:(我将使用#container作为包含div的名称,无论是什么)

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

答案 2 :(得分:0)

如果你想申请这3个命名列表..只需使用不同身份的div为B1,B2 ....但是如果你想申请一个巨大的列表那将很难

答案 3 :(得分:0)

您可以尝试这样的事情:

http://jsfiddle.net/4X62Y/

答案 4 :(得分:0)

这是另一种不改变HTML的解决方案:

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

<强> Example

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