首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CSS中,::first-letter和:first-letter有什么区别?

在CSS中,::first-letter和:first-letter有什么区别?
EN

Stack Overflow用户
提问于 2013-04-30 01:03:20
回答 2查看 360关注 0票数 1

在一些测试准备过程中,有人问我这是否会正确地设置第一个字母的颜色:

代码语言:javascript
复制
td.one::first-letter {
    color:blue;
}

现在,我知道我见过冒号是双倍的地方,但是测试jsFiddle没有显示出两者之间的任何行为差异

代码语言:javascript
复制
td.two:first-letter {
    color:green;
}

所以,我很好奇有什么不同,为什么你会在伪类前面使用::而不是:?

http://jsfiddle.net/mori57/bqE7Q/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-30 01:04:39

它们在本例中是等价的,但只是因为它是一个伪元素,而不是一个伪类。创建双冒号语法是为了防止由于将单冒号伪元素称为“伪类”而引起的混淆(奇怪的是,您的问题说明了这一点)。从spec

::表示法是由当前文档引入的,目的是区分伪类和伪元素。为了与现有的样式表兼容,用户代理还必须接受以前在CSS1和2级引入的伪元素(即:first-line:first-letter:before:after)的一个冒号表示法。对于本规范中引入的新伪元素,不允许这种兼容性。

如果你不打算支持IE < 9,最好用双冒号来表示你所有的伪元素。如果您需要支持较旧版本的IE,您可以继续使用单冒号,但仅适用于上述选择器。

票数 3
EN

Stack Overflow用户

发布于 2013-04-30 01:04:57

查过规格了吗?

This ::notation是由当前文档引入的,目的是区分伪类和伪元素。为了与现有的样式表兼容,用户代理还必须接受以前在CSS级别1和2中引入的伪元素的一个冒号表示法(即:first-line、:first-letter、:after和:after)。对于本规范中引入的新伪元素,不允许这种兼容性。

http://www.w3.org/TR/selectors/#pseudo-elements

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16284272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档