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

这个答案描述了如何使用CSS3设置复选框样式,而无需使用<label>

input[type=checkbox]:before {

content:""; display:inline-block; width:12px; height:12px; background:red;

}

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

鉴于后两种浏览器均缺乏支持, ,

回答:

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

2.1规范说:

“注意。该规范并未完全定义:before和:after与替换元素(例如HTML中的IMG)的交互。这将在以后的规范中更详细地定义。”

而且,值得一提的是,INPUT可以看作是CSS

2.1意义上的替换元素。

可能会认为这些伪元素不能用于不能包含任何内容(即具有EMPTY声明的内容)的元素,例如IMG或INPUT。但是,该措辞提到了IMG,附录D的选择器有一条规则br:before

和CSS3选择,已达到推荐状态CSS3的少数地区之一,确实 没有

明确的事情了。它说:

::before::after伪元素可用于描述元素内容之前或之后生成的内容。它们在CSS 2.1 [CSS21]中进行了解释。”

以上是 :before伪元素是否在输入[type = checkbox]上被允许? 的全部内容, 来源链接: utcz.com/qa/405687.html

回到顶部