【发布时间】:2013-05-17 18:35:13
【问题描述】:
我正在尝试设置输入字段之前的所有标签的样式,复选框和单选按钮除外。
使用 ~ 选择器,除了“文本”输入标签之外,我已经完成了所有工作——我尝试的所有其他类型都会应用该样式,但文本不会,而且我已经盯着它太久了。
HTML
<form>
<label for="MyText">Text Field</label>
<input id="MyText" type="text" /><br />
<label for="MyUrl">Url Field</label>
<input id="MyUrl" type="url" /><br />
<label for="MyCheck">Checkbox</label>
<input id="MyCheck" type="checkbox" /><br />
</form>
CSS
INPUT:not([type="radio"]):not([type="checkbox"]) ~ LABEL {
width: 100px;
}
INPUT:not([type="radio"]):not([type="checkbox"]) {
width: 200px;
}
LABEL { display: inline-block; }
我想避免按 ID 或类指定文本输入标签,以保持我的代码干净。
我也有一个 JSFiddle:http://jsfiddle.net/buzzsurfr/GWk96/1/
编辑:此屏幕截图来自 JSFiddle。我尝试使用 FF 和 Chrome。
【问题讨论】:
-
您的两个选择器似乎都工作正常..
-
它也对我有用。
-
我添加了我在 JSFiddle 中看到的图像。 “文本字段”标签与 IE、FF 和 Chrome 中的第一个 CSS 分配不匹配。
-
问题是
~组合器没有选择前面的元素 -
你为什么不直接选择
label?
标签: css css-selectors