【发布时间】:2013-05-18 05:30:58
【问题描述】:
双冒号 (::) 在 CSS 中是什么意思?
例如:
input[type=text]::-ms-clear { display: none; }
【问题讨论】:
标签: css
双冒号 (::) 在 CSS 中是什么意思?
例如:
input[type=text]::-ms-clear { display: none; }
【问题讨论】:
标签: css
表示伪元素选择器。表示右边的元素在普通DOM中是不存在的,但是可以被选中。
伪元素由两个冒号 (::) 后跟伪元素的名称组成。
它最初只是一个冒号,但为了区别于伪类(如:hover、:first-child、:not 等)而进行了更改。最好将: 用于before 和after 伪元素,因为单冒号具有更好的浏览器支持,即在早期的IE 版本中。
【讨论】:
:: 运算符表示您正在选择一个伪元素,它实际上并不作为元素存在,但仍然可以作为样式的目标。
这方面的示例包括几个特定于供应商的实现,例如您提供的 -ms-clear 示例,大多数浏览器还具有用于样式滚动条和其他本机 UI 元素的伪元素,但也有很多 predefined pseudo elements 可以出于实际原因引用,例如first-line 和first-letter。
:before 和 :after 伪元素甚至允许您使用带有 content 规则的 CSS 将实际内容插入页面。
【讨论】:
CSS3 改变了伪元素的选择方式,因为 W3C 想要区分像 a:visited 这样的伪类和像 p::first-line 这样的伪元素。见Advanced CSS Selectors。
【讨论】: