Web 开发者们,庆祝的时候到了!在即将发布的 Firefox 16 中(今天已进入 Aurora 阶段),一项重大改进是去除了多个稳定 CSS 特性的前缀。其他值得 Web 开发者关注的特性包括更多与 HTML5 相关的 API、Mac OS 上更好的可访问性以及对 Firefox 开发者工具的改进。
那么,哪些 CSS 特性去除了前缀呢?
规范 | 属性、函数表示法和 @ 规则 | 更多信息 |
---|---|---|
CSS3 动画 | animation , animation-name , animation-duration , animation-delay , animation-timing-function , animation-iteration-count , animation-direction , animation-play-state , animation-fill-mode , @keyframes |
使用 CSS 动画 |
CSS3 过渡 | transition , transition-property , transition-delay , transition-duration , transition-timing-function |
使用 CSS 过渡 |
CSS3 变换 | transform , transform-origin , transform-style , backface-visibility , perspective , perspective-origin |
使用 CSS 变换 |
CSS3 图像值 | linear-gradient() , radial-gradient() , repeating-linear-gradient() , repeating-linear-gradient() |
使用 CSS 渐变 |
CSS3 值和单位 | <a title="CSS calc() 函数" href="https://mdn.org.cn/en/CSS/calc">calc</a>() |
注意渐变语法
虽然 CSS 动画、过渡和变换的语法最近没有变化,但 CSS 渐变语法却并非如此,它与大多数带前缀的实现相比有显著不同。
用于 线性渐变 的最终语法是
<linear-gradient> = linear-gradient(
[ [ <angle> | to <side-or-corner> ] ,]? <color-stop>[, <color-stop>]+ )
<side-or-corner> = [left | right] || [top | bottom]
如果我们将它分解,它的结构是
linear-gradient( <em>direction</em> , <em>color-stop</em> )
由于 color-stop 语法最近没有发生变化,因此 direction 参数是最新变化发生最多的部分。
direction 参数可以通过使用 CSS <angle>
定义,也可以使用 to
关键字后跟一个或两个描述侧面或角点的关键字定义。
这就是主要的变化!这个 to
关键字之前不存在,它颠倒了之前使用的方向:-prefix-linear-gradient( top left )
变成了 linear-gradient( to bottom right )
。
此外,<angle>
也发生了变化:之前,0deg
指向右侧;现在,它与 CSS 规范中其他角度保持一致,指向顶部。像这样
所以,您需要再次将 -prefix-linear-gradient(0deg)
更改为 linear-gradient(90deg)
。如果未更改角度,渐变将以不同的方向显示,例如这样
→
对径向渐变语法也进行了类似的更改,新增了 at
关键字。
更多 HTML5 和朋友的精美内容
去除成熟 CSS 特性的前缀并不是支持标准的唯一改进
- IndexedDB 已达到候选推荐状态,也去除了前缀。这太棒了。
- 对 HTML5 Microdata API 的支持已实现。
- 对 HTML5
<strong><meter></strong>
元素的支持已实现。 - 我们去除了 Battery API 的前缀。
- 我们去除了 Vibration API 的前缀。
- 我们通过添加对
dppx
单位的支持来改进媒体查询支持。 - CSS 属性
height
和width
现在可以进行动画。 - CSS 动画可以“反转”:已添加
reverse
和alternate-reverse
关键字。 - 我们的 JavaScript 实现得到了改进,在 Harmony(可能是未来的 EcmaScript 6)中添加了几个新特性
- 对
Keyboard
(仍带前缀为mozKeyboard
)的改进,现在支持setSelectedOption()
、setValue()
和onfocuschange()
。
可访问性
在使 Firefox 更具可访问性方面迈出了一大步。对 Mac OS 上 VoiceOver 的支持已实现。这是最后一个我们的可访问性特性严重落后的平台。这对所有在 Mac 上需要这些功能的人来说非常令人兴奋。 更多信息.
开发者工具
最后但并非最不重要的是,我们继续改进开发者工具!
现在您可以切换开发者工具栏:转到工具 > Web 开发者 > 开发者工具栏,或按 Shift-F2。工具栏本身看起来像这样
工具栏有一个命令行界面,以及右侧的按钮,可以快速访问有用的工具。命令行界面易于扩展,将来预计将添加更多命令。在其中键入 help 将显示支持的命令。
Web 控制台也得到了改进,现在显示了一个精美的错误计数。
最后,我们的 Scratchpad 获得了最近打开文件的列表。始终很方便。
其他值得注意的更改
- 我们略微 更改 了我们的 UA 字符串,不显示版本控制系统的第三位数字。
- 增量 GC 是我们改进垃圾收集器工作的重要组成部分,现在 默认启用。
- Opus 是一种针对实时通信的低延迟编解码器,现已 默认启用。
- 默认情况下,我们 不再接受 X.509 证书中的 MD5 哈希。
about:memory
现在显示 “每个标签”的内存使用情况。- 我们 调整了上下文菜单,移除了“发送链接...”项目并将“停止”和“重新加载”项目合并在一起。
有关更多详细信息,请参见 发行说明 和 面向开发者的 Firefox 16。
结论
Firefox 16 正朝着成为 Web 开发者的强大版本迈进,无论是在对标准的支持方面,还是在工具的改进方面,都快速成熟。将来,Web 网站将更易于制作且功能更强大!
关于 Jean-Yves Perrier
Jean-Yves 是 Mozilla 开发者推广团队的项目经理。在此之前,他曾在 MDN 担任技术作家,专门负责 Web 平台技术(HTML、CSS、API),并且担任 MDN 内容主管多年。
39 条评论