[This StackOverflow answer描述如何使用CSS3设置复选框样式,而无需使用<label>
:
input[type=checkbox]:before {
content:""; display:inline-block; width:12px; height:12px; background:red;
}
这在Chrome 22中有效,但在Firefox 15或IE 9中无效。
鉴于后两个浏览器不支持,Chrome的行为是否符合CSS3规范?
这是未知的土地;规格并不能解决问题。 CSS 2.1 spec says:
我认为Chrome的行为无效。如果您是take a look here,则表示::before
和::after
伪元素在目标元素的content
之前或之后添加新的content
。输入元素没有content
;他们只有value
。例如,您不能执行<input>Pasta</input>
。