双冒号(::)是什么意思在CSS?
在CSS中,双冒号( ::
:)是什么意思?
例如:
input[type=text]::-ms-clear { display: none; }
这意味着伪元素select器。 这意味着右边的元素不存在于正常的DOM中,但可以select。
伪元素由两个冒号(::)组成,后面跟着伪元素的名字。
资源
它最初只是一个单独的冒号,但被改为区分伪类 (如:hover
, :first-child
, :not
不等)。 因为单个冒号有更好的浏览器支持,所以最好after
伪元素before
和after
使用:
在较早的IE版本中。
::
运算符表示您正在select一个伪元素 ,其中一个实际上不是作为元素存在,但仍然可以作为样式的目标。
这个例子包括几个供应商特定的实现,例如你提供的-ms-clear
样例,大多数浏览器也有伪元素来设置滚动条和其他本地UI元素的样式,但是也有很多预定义的伪元素可以被引用出于实际的原因,如first-line
和first-letter
。
在:before
和:after
伪元素甚至允许你使用带content
规则的CSS在页面中插入实际的content
。
CSS3改变了伪元素的select方式,因为W3C想要区分伪类,比如p::first-line
等伪元素。 请参阅高级CSSselect器 。