3

我有两种类型的标签,像第一行这样的普通标签,以及其中包含输入字段的标签。什么 CSS 规则可以让我选择所有<label>但排除恰好包含<input>在其中的所有标签?

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

<label for="type">
   <input type="checkbox" value="1" id="type">Some Label
</label>
4

2 回答 2

2

最好的方法是向它们或至少向其中一个添加不同的类。

CSS 没有父选择器,因此您无法使用一些 javascript 检查包含其他元素的元素。

一些背景:
“包含 bar 的 foo”的 CSS 选择器?
有 CSS 父选择器吗?
CSS Parent/Ancestor Selector
复杂 CSS 选择器,用于活动子的父级

于 2012-07-01T06:41:34.680 回答
2

如果您正在寻找标签+输入对,“相邻兄弟”选择器应该可以工作:

label+input
{
    /* rules */
}

这将忽略您的标签嵌套输入,除非在其中包含输入的标签之后碰巧有输入。

请参阅 Sitepoint 的 CSS 参考:http ://reference.sitepoint.com/css/adjacentsiblingselector

于 2012-07-01T06:49:00.433 回答