从任何css类中清除HTML元素?

从任何css类中清除HTML元素?,html,css,Html,Css,我有一个班是“class1”。和一个类:.class1输入{etc},以便对div中的所有输入进行样式化 有没有办法确保div中的一个特定输入不被设置样式,而是保留默认的输入样式/按钮?因为css2.1中没有:not选择器,所以最好将类分配给希望具有特定样式的所有输入。然后,像这样瞄准他们: .class1 .inputclass1 这样,您的其他输入(需要默认样式的输入)就不会受到影响 如果您想使用CSS 3,那么您可以像这样使用:not: .class1:not(.defaultclass

我有一个班是“class1”。和一个类:.class1输入{etc},以便对div中的所有输入进行样式化


有没有办法确保div中的一个特定输入不被设置样式,而是保留默认的输入样式/按钮?

因为css2.1中没有
:not
选择器,所以最好将类分配给希望具有特定样式的所有输入。然后,像这样瞄准他们:

.class1 .inputclass1
这样,您的其他输入(需要默认样式的输入)就不会受到影响

如果您想使用CSS 3,那么您可以像这样使用
:not

.class1:not(.defaultclass1)

并将
defaultclass1
指定给您想要使用默认样式的元素。

在这种情况下,此分区中有两种输入。一种应该设置样式,另一种不应该设置样式。基本上有两类输入,但没有给它们提供类名。我建议给他们类名称(例如,样式化和非样式化或其他),并以此为基础构建css。否则您可以使用伪类,但我对此不太确定。

您可以查看:not()选择器。但是,IE不支持这一点。对于您希望“默认”样式的特定输入,可能最容易提供CSS覆盖。您可以:

(1) 将
.class1input{etc}
修改为
.class1input.a{etc}
,并将样式
a
应用于您的所有输入,但不包括特殊输入


(2) 将内联样式应用于有问题的特殊输入,重置其格式。

如果您计划支持所有不支持CSS3的浏览器。你可以通过再上一节课来超越规则。像

    .class input {etc}
    and then over-ride etc rule by giving some other class to that input e.g. .notClass

    input.notClass {over-ride etc }
  • 如果这是另一种类型的输入,则可以使用.class imput[type]{}
  • 最好的方法是使用一个类来处理所有的输入,比如.class1 input.all{},而不使用任何类来处理非样式的输入

  • 你一定还没有听说过CSS3:同样是一个回答相同的人,发帖速度比我快37秒XD@BoltClock是的,没有人反对CSS3有一些很棒的东西,但它在市场上的集成度不够yet@Joseph:在我发表评论前几秒钟,答案是“否:CSS中的非选择器”,“我现在明白了,我有点越狱了。这是可以理解的。你会怎么做选择2呢?从未听说过“重置格式”的内联样式@Jonah Katz:选项2是不可能的。@BoltClock为什么说不可能?内联样式将覆盖在此之前设置的任何样式,从而使您能够“重置”样式。@ddostatck:Sigh。。。我将在这里转载我之前的评论:覆盖样式不是一个选项。您不能使用替代将输入样式还原为浏览器默认值。叹气。。。我从未说过它会自动将输入恢复为浏览器默认值。我说过,您可以使用内联样式和“重置”(请注意,双引号意味着它不是“真正的”“真正的”重置)覆盖任何样式。因此,您可以手动将样式重置为浏览器默认样式。因此是级联样式表的级联部分;)见我对杰西回答的评论。