Css 选择<;标签>;但不包括<;标签>;包含<;输入>;

Css 选择<;标签>;但不包括<;标签>;包含<;输入>;,css,Css,我有两种类型的标签,普通标签(如第一行)和包含输入字段的标签。什么CSS规则可以让我选择所有,但排除所有恰好包含的标签 <label for="type">Some Label</label> <label for="type"> <input type="checkbox" value="1" id="type">Some Label </label> 一些标签 一些标签 实现这一点的最佳方法不是向它们添加不同的类,或者至少

我有两种类型的标签,普通标签(如第一行)和包含输入字段的标签。什么CSS规则可以让我选择所有
,但排除所有恰好包含
的标签

<label for="type">Some Label</label>

<label for="type">
   <input type="checkbox" value="1" id="type">Some Label
</label>
一些标签
一些标签

实现这一点的最佳方法不是向它们添加不同的类,或者至少向其中一个添加不同的类

CSS没有父选择器,所以您不能用javascript检查包含其他元素的元素

一些背景:



如果要查找标签+输入对,则“相邻同级”选择器应该可以工作

label+input
{
    /* rules */
}
这将忽略标签嵌套的输入,除非标签后面碰巧有一个输入,而标签中有一个输入


请参阅Sitepoint的CSS参考:

Yeah。正如我所说,您不必创建第二个类。您可以创建一个类,并将其应用于标签,而无需输入。@sameold解决了这个问题,它与IE6和7不兼容。如果这对您来说不是问题,您可以为所有标签定义样式,并覆盖下一个标签(在输入之后或之前,而不是包装)。@rcdmk-Ah,真的。我养成了一个坏习惯,忘记了那两个。。。抢手货