我正在尝试使用我使用的风格
input:not([type=checkbox]),
input:not([type=radio]){ ...
但显然这是行不通的。 如何使用我为所有输入编写的样式,但只有这两个?
您需要使用单个组合选择器而不是两个选择器:
input:not([type=checkbox]):not([type=radio]) { ... }
这将选择任何不具有属性
input
并且不具有属性 type=checkbox
的 type=radio
元素。问题中的代码有两个选择器,选择所有不具有属性 input
的 type=checkbox
元素以及所有不具有属性 input
的 type=radio
元素,因此最终选择所有 input
元素。
常见的 CSS 警告适用。您可能希望使用像Selectivzr这样的polyfill来覆盖旧版本的IE。
如果你会使用javascript,特别是jquery,那么你可以使用这个
$("input:not(:checkbox):not(:radio), select").addClass('myClass');
这会将类
myClass
添加到所有输入(和选择),但单选框和复选框
您需要设置除这两种类型之外的所有其他类型的样式,尽管这可能很糟糕。
您可以尝试向您不需要样式的类添加一个类,然后在 CSS 中使用它:
input:not(.not){ /*Whatever styling you use*/ }
如果你想在 Javascript 文件中使用它,你可以使用它:
$("input").not(["type=checkbox"]).not("#id").each(function() {
我在循环中使用它,排除所有复选框和 id = id 的元素
输入:not([type=checkbox]):not([type=radio]) 寻找解决方案是行不通的。我想不通