在输入[type = checkbox]上是否允许:before伪元素?

问题描述 投票:15回答:2

[This StackOverflow answer描述如何使用CSS3设置复选框样式,而无需使用<label>

input[type=checkbox]:before {
    content:""; display:inline-block; width:12px; height:12px; background:red;
} 

Fiddle

这在Chrome 22中有效,但在Firefox 15或IE 9中无效。

鉴于后两个浏览器不支持,Chrome的行为是否符合CSS3规范?

css css3 checkbox css-selectors
2个回答
16
投票

这是未知的土地;规格并不能解决问题。 CSS 2.1 spec says


8
投票

我认为Chrome的行为无效。如果您是take a look here,则表示::before::after伪元素在目标元素的content之前或之后添加新的content。输入元素没有content;他们只有value。例如,您不能执行<input>Pasta</input>

© www.soinside.com 2019 - 2024. All rights reserved.