停止为一个元素应用css选择器

时间:2013-01-06 09:45:08

标签: html css css-selectors

我想阻止此CSS选择器应用于页面中的所有元素:

input {
    color:red;
}

这将使每个类型的<input>的文本都为红色,但我想从中排除一个输入,而不更改此CSS规则的选择器或样式。元素应该具有默认样式(当页面上没有css时如何)。

2 个答案:

答案 0 :(得分:4)

您可以使用not选择器。由于输入字段应具有名称,因此可以使用以下命令将其排除:

input:not([name="exludeme"]) { }

此方法在IE8及更早版本中不起作用。要支持ie7和ie8,您可以使用属性选择器。在这种情况下,您必须重置字段:

input[name="exludeme"] { /*add all your reset styles here*/ }

答案 1 :(得分:3)

为不同的ID添加一个id并仅为他应用它,并确保没有其他css会覆盖您选择的css使用!important

<强> HTML

<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box" id="diff"></div>

<强> CSS

div.box {
  background-color:red;
  width:50px;
  height:50px;
  position: relative;
}

#diff{
  background-color:black  !important ;
}

检查一下:http://jsfiddle.net/y32Wv/

注意: !important是可选的,取决于文件中的选择器位置,但是在可能被其他css规则覆盖的情况下(例如,如果某人更改了顺序) css规则)它将停止正常工作,!important将阻止它发生。