我有两种类型的标签,像第一行这样的普通标签,以及其中包含输入字段的标签。什么 CSS 规则可以让我选择所有<label>
但排除恰好包含<input>
在其中的所有标签?
<label for="type">Some Label</label>
<label for="type">
<input type="checkbox" value="1" id="type">Some Label
</label>
我有两种类型的标签,像第一行这样的普通标签,以及其中包含输入字段的标签。什么 CSS 规则可以让我选择所有<label>
但排除恰好包含<input>
在其中的所有标签?
<label for="type">Some Label</label>
<label for="type">
<input type="checkbox" value="1" id="type">Some Label
</label>
最好的方法是向它们或至少向其中一个添加不同的类。
CSS 没有父选择器,因此您无法使用一些 javascript 检查包含其他元素的元素。
一些背景:
“包含 bar 的 foo”的 CSS 选择器?
有 CSS 父选择器吗?
CSS Parent/Ancestor Selector
复杂 CSS 选择器,用于活动子的父级
如果您正在寻找标签+输入对,“相邻兄弟”选择器应该可以工作:
label+input
{
/* rules */
}
这将忽略您的标签嵌套输入,除非在其中包含输入的标签之后碰巧有输入。
请参阅 Sitepoint 的 CSS 参考:http ://reference.sitepoint.com/css/adjacentsiblingselector