最近依然在做 在线手写笔记平台。作为 iPad-first 的项目,自然是逃不过数不清的 Safari-only bugs。
例如:如果 iOS 如果开启了深色模式,overflow: scroll 的盒子内的滚动条就永远是白色的了。当然,这只是个小小的 bug,可预见的未来也会修复。(其实还有元素把滚动条挡住的问题,但可以通过 transform: translateZ(0) 解决)
但让我反思的是,发现这个 bug 的人并不多,Apple 对此也不重视。换言之,在 2022 年,“让把页面在一个与视区等大的大盒子里用一个个小盒子切块,然后让所有元素都在各自的盒子内滚动”,在新时代 IE —— Safari 里依然是一种把反常态的做法(尽管 iCloud 网页版也是这么做的)。
如果我们只在桌面浏览器端使用这样的布局,几乎感受不到不适。但是,在移动端浏览器的体验差距就明显了:
- 浏览器的地址栏和导航栏不会随着页面的滚动而隐藏。 这也就意味着,Web App 将始终拥有硕大的半永久额头:
而如果页面是作为普通的长文档滚动,就不存在这种问题。
- 滚动条会被屏幕圆角挡住。 iOS Safari 为了异形屏做了很多优化,但也仅限于“普通网页”。
- 地址栏和导航栏失去毛玻璃效果 Safari 把长文档看作是可以被地址栏“挡住”而,而其它的盒子里的滚动只是在一亩三分地里的行为。