由于IE7和IE8不支持伪元素的双冒号表示法(例如::after或者::first-letter),并且由于现代浏览器支持单冒号符号(例如:after)以实现向后兼容性,因此我应该仅使用单冒号表示法吗? IE8的市场份额下降到可以忽略不计的水平回到我的代码库中找到/替换?或者我应该包括两者:
.foo:after,
.foo::after { /*styles*/ }
Run Code Online (Sandbox Code Playgroud)
如果我关心IE8用户(可怜的亲戚),单独使用双重似乎很愚蠢.
css css-selectors internet-explorer-8 internet-explorer-7 pseudo-element
像a:link或div::after......
有关差异的信息似乎很少.
来自MDN:
::在CSS 3中引入了该符号,以便在伪类和伪元素之间建立区分.浏览器也接受:CSS 2中引入的符号.
如果:CSS3浏览器始终接受表示法,我应该使用它,因为它适用于新旧浏览器吗?
或者我应该同时使用它们,:旧浏览器和::新浏览器,因为符号:不会一直被接受?
注意:我认为我的问题不是重复不是重复我应该对伪元素使用单冒号还是双冒号?因为另一个问题是关于ALL伪元素的单符号和双符号; 虽然我的问题只是关于CSS2中定义的伪元素,而不是CSS3中定义的新元素,因为我已经知道我必须使用的那些::.