: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