10

有没有办法通过输入类型排除或选择标签,类似于输入字段?

label:not([type=checkbox])
label[type=checkbox] 
4

3 回答 3

17

如果您为您的复选框提供所有以相同内容开头的特定 id,您可以执行以下操作:

HTML

<input type="checkbox" id="chkTerms" />
<label for="chkTerms">Read terms & conditions</label>

CSS

label[for*="chk"], label[htmlfor*="chk"]
{
css here
}

可能只有现代浏览器。编辑:我刚刚尝试了一个小提琴:链接,它适用于 chrome 和 IE 8 & 9 但不是 7。我没有在 FF 中尝试过。

EDIT2:只是为了解释这里发生了什么,方括号会查找所需的属性。asterix 将 equals 的行为从普通的 equals 更改为包含 - 只要 for 属性包含“chk”,它将应用该样式。您可以将 * 替换为 ^,它会将其更改为以开头而不是包含开头。

EDIT3:BoltClock 在评论中为 IE7 提供了修复,我已经更新了答案以包含它。

于 2012-10-23T15:13:18.360 回答
4

怎么样input[type=checkbox] + label { /*label style here*/ }?如果文本就在输入元素之后,它可能会起作用。我没有测试过。

于 2012-10-23T14:04:39.240 回答
1

您可以将复选框与基本数据属性参考一起使用。

<input type="checkbox" name="checkbox-1" id="checkbox-0" class="custom" />
<label for="checkbox-0">Whatever</label>

如果你不期待这个......让我们知道......

于 2012-10-23T14:21:19.460 回答