:before和::before的区别
来源:互联网 发布:redis 安装配置 linux 编辑:程序博客网 时间:2024/06/03 17:36
在一次项目中,有一次要用到::selection伪元素,然后开发同学问我,CSS中一个冒号和两个冒号有神马区别?
这好像真的是个问题,或许很多前端同学对此都有疑惑,查了些资料,证实了下两个符号的区别,简而言之:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。
W3C关于CSS3选择器的规范中有一段描述:
A pseudo-element is made of two colons (::) followed by the name of the pseudo-element.This :: notation is introduced by the current document in order to establish a discrimination between pseudo-classes and pseudo-elements. For compatibility with existing style sheets, user agents must also accept the previous one-colon notation for pseudo-elements introduced in CSS levels 1 and 2 (namely, :first-line, :first-letter, :before and :after). This compatibility is not allowed for the new pseudo-elements introduced in CSS level 3.
简单翻译一下,大意就是,伪元素由双冒号和伪元素名称组成。双冒号是在当前规范中引入的,用于区分伪类和伪元素。不过浏览器需要同时支持旧的已经存在的伪元素写法,比如:first-line、:first-letter、:before、:after等,而新的在CSS3中引入的伪元素则不允许再支持旧的单冒号的写法。
那么现在就可以完整的回答标题中的问题了,对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。
所以,如果你的网站只需要兼容webkit、firefox、opera等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容IE浏览器,还是用CSS2的单冒号写法比较安全。
0 0
- :before和::before的区别
- :before和::before的区别
- :before和::before的区别
- :before和::before的区别
- :after/::after和:before/::before的区别
- :before/:after和::before/::after的区别
- :before与::before的区别
- :before与::before的区别
- mysql触发器Before和After的区别
- @BeforeClass/@AfterClass 和 @Before/@After的区别
- @BeforeClass/@AfterClass 和 @Before/@After的区别
- 触发器里面before和after的区别
- 触发器里 after 和 before的区别
- jQuery before和insertBefore区别
- jQuery中的append()和prepend(),after()和before()的区别
- before
- :before
- @BeforeClass and @AfterClass和@Before and @After的区别
- apache与tomcat负载集群的3种方法
- Memcached 在windows下的java使用
- Python使用模板
- Android错误之Location of the Android SDK has not been setup in the preferences
- 此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。
- :before和::before的区别
- JSP中的 < base href="<%=basePath%>">作用
- Qt部件2----列表框,组合框
- nginx配置负载均衡
- java简单的动态代理示例
- 【Scala】Scala中的Nothing,Null,None,Nil
- 【C语言】求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素
- FFmpeg + Opencv 解码和显示
- hibernate缓存