内容提要
Safari 18 beta发布,带来了新的Web功能。视图过渡级别1和自定义属性的样式查询是安全的。Safari 18支持使用currentColor的相对颜色语法,但目前不建议使用。可过渡和@starting-style是安全的。安全的flexbox对齐可以防止数据丢失。URL.parse()与polyfill一起使用是安全的。Safari在采用新的Web功能方面处于领先地位。
延伸解读
特性检测与渐进增强
文章强调,对于视图过渡和可过渡的 display 属性,即使 Firefox 等浏览器不支持,只要通过特性检测(如检查 document.startViewTransition 或 @supports),就可以安全使用,因为不支持时只会缺少动画,不会导致功能失效。这种渐进增强策略允许开发者提前采用新特性,同时保证基本功能在所有浏览器中可用。
相对颜色语法的现状与限制
Safari 18 支持使用 currentColor 的相对颜色语法,但文章指出目前不建议使用。虽然可以通过 @supports 检测,但需要提供回退颜色,导致代码中多次定义颜色,维护成本高。作者建议等待更广泛的跨浏览器支持,或借助 PostCSS 等工具处理语法,现阶段应避免在生产环境中使用。
样式查询的兼容性风险
样式查询(基于自定义属性的容器查询)是 Safari 18 的新功能,但文章认为目前不安全。主要原因是 @rule 的特性检测仍在开发中,无法可靠地检测浏览器是否支持。因此,尽管语法强大,但在缺乏特性检测手段的情况下,直接使用可能导致样式在部分浏览器中完全失效,建议暂缓采用。
安全对齐与 URL.parse 的实用建议
文章确认 flexbox 的 safe 关键字可以安全使用,能防止内容被裁剪,且 Safari 18 之前已识别该关键字(虽无效果)。对于 URL.parse(),建议配合 polyfill 使用,以覆盖尚未支持的浏览器,待跨浏览器支持完善后再移除 polyfill。这两项特性风险较低,可立即应用。
Q&A
Safari 18 beta有哪些新功能?
Safari 18 beta发布了视图过渡级别1、自定义属性的样式查询、currentColor的相对颜色语法、可过渡的display属性、安全的flexbox对齐和URL.parse()等新功能。
视图过渡级别1在Safari 18中安全吗?
是的,视图过渡级别1在Safari 18中是安全的,可以放心使用。
Safari 18支持的相对颜色语法有什么特点?
Safari 18支持使用currentColor的相对颜色语法,但目前不建议使用,因为需要实现备用颜色。
如何安全地使用flexbox对齐?
使用安全的flexbox对齐可以防止数据丢失,Safari 18中对此的支持是安全的。
URL.parse()在Safari 18中如何使用?
在Safari 18中,URL.parse()是安全的,建议使用polyfill以确保跨浏览器支持。
Safari 18在Web功能的采用上处于什么位置?
Safari在采用新的Web功能方面处于领先地位,积极支持最新的Web标准。