CSS“和”and“或”

我遇到了很大的麻烦,因为我需要从一些inputtypes的样式中进行parsing。 我有这样的东西:

.registration_form_right input:not([type="radio") { //Nah. } 

但是我不想勾选checkbox。

我试过了:

 .registration_form_right input:not([type="radio" && type="checkbox"]) .registration_form_right input:not([type="radio" && "checkbox"]) .registration_form_right input:not([type="radio") && .registration_form_right input:not(type="checkbox"]) 

如何使用&& ? 我需要使用|| 很快,我认为用法是一样的。

更新:
我仍然不知道如何使用||&&正确。 W3文档中找不到任何内容。

&&通过串联多个select器来工作,例如:

 <div class="class1 class2"></div> div.class1.class2 { /* foo */ } 

另一个例子:

 <input type="radio" class="class1" /> input[type="radio"].class1 { /* foo */ } 

“||” 通过用逗号分隔多个select器来工作,如下所示:

 <div class="class1"></div> <div class="class2"></div> div.class1, div.class2 { /* foo */ } 

作为一个便笺,我会build议不要使用“不”select器,因为它不受Internet Explorer支持。 根据一项调查,60%的人使用某个版本的Internet Explorer,所以你的网站不适合很多人。

AND( && ):

 .registration_form_right input:not([type="radio"]):not([type="checkbox"]) 

OR( || ):

 .registration_form_right input:not([type="radio"]), .registration_form_right input:not([type="checkbox"]) 

selectX元素a AND AND b属性:

 X[a][b] 

要selectX元素的ab属性:

 X[a],X[b] 

:not伪类不被IE支持。 我得到了这样的东西,而不是:

 .registration_form_right input[type="text"], .registration_form_right input[type="password"], .registration_form_right input[type="submit"], .registration_form_right input[type="button"] { ... } 

那里有一些重复,但是为了提高兼容性而付出的代价是很小的。

我想你讨厌编写更多的select器并用逗号分隔它们?

 .registration_form_right input:not([type="radio"]), .registration_form_right input:not([type="checkbox"]) { } 

和顺便说一句

 not([type="radio" && type="checkbox"]) 

在我看来更像是“没有这两种types的input”:)

以防万一像我这样卡住 经过这个职位后,一些打击和审判这为我工作。

 input:not([type="checkbox"])input:not([type="radio"]) 

你可以以某种方式使用&和:not来重现“OR”的行为。

 SomeElement.SomeClass [data-statement="things are getting more complex"] :not(:not(A):not(B)) { /* things aren't so complex for A or B */ }