CSS中一个冒号和两个冒号有什么区别
来源:互联网 发布:xshell传文件到linux 编辑:程序博客网 时间:2024/05/17 08:00
在一次项目中,有一次要用到::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等。
那么现在就可以完整的回答标题中的问题了,对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。
所以,如果你的网站只需要兼容webkit、firefox、opera等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容IE浏览器,还是用CSS2的单冒号写法比较安全。
- CSS中一个冒号和两个冒号有什么区别
- CSS中一个冒号和两个冒号有什么区别
- C++ 中一个冒号和两个冒号的区别
- 一个冒号和两个冒号的区别
- CSS样式中伪类和伪类元素的区别(css中一个冒号和两个冒号的区别)
- makefile中赋值的左边有没有冒号和有冒号,有什么区别
- CSS3:伪类前的冒号和两个冒号区别
- 【末世旅行之C++】C++中一个冒号和两个冒号的用法
- php中"::"双冒号有什么作用
- php中"::"双冒号有什么作用
- php中"::"双冒号有什么作用
- c++中冒号(:)和双冒号(::)的区别
- c++中冒号(:)和双冒号(::)的区别
- c++中冒号(:)和双冒号(::)的区别
- lua中 点(.)和冒号(:)的区别
- Php中两个连续冒号::表示什么意思
- C++中单冒号和双冒号
- C 中双冒号(::)和冒号(:)
- 关于Restful api架构
- Canvas绘制贝塞尔曲线
- 被jar包冲突害惨了
- 程序员如何快速准备面试中的算法
- iOS 的MVC设计模式
- CSS中一个冒号和两个冒号有什么区别
- LBP算法的研究
- git 配置中几个容易忽视的问题
- Shell脚本有几种运行方式,如何使用?
- 如何在Unity3d中实现MAYA的BlendShape
- const关键字用法
- Java中基础知识点(一)
- iOS开发 - UIView 属性和方法
- javascript