为什么桌面版 Safari 15 不尊重我的主题颜色设置?

knp*_*wrs 7 html safari mobile-safari

我的网站(https://knpw.rs)有一个标签,如下所示<head>

<meta name="theme-color" content="#F9F9F9"/>
Run Code Online (Sandbox Code Playgroud)

在 Safari Mobile (iOS) 上,theme-color标题受到尊重:

在此输入图像描述

但在 Safari 桌面上,theme-color不尊重:

Safari 桌面 knpw.rs

与已设置为的https://registry.terraform.io进行比较:theme-color#5c4ee5

Terraform 注册表桌面

这在移动设备上也受到尊重:

在此输入图像描述

theme-color为什么我的内容在 Safari 15 桌面版上不受尊重?

Rog*_*Lee 7

某些颜色在 macOS Safari 15 上无法正常显示,尤其是当您使用深色外观且主题颜色太浅时。

\n

我构建了这个小工具来预览是否theme-color正常工作。

\n
\n

\xe2\x9a\xa0\xef\xb8\x8f 注意:使用separate tab模式时,主题颜色不会应用于浏览器。

\n
\n

链接: https: //roger.zone/theme-color-preview/

\n

Safari 15 主题颜色预览

\n

  • 我尝试了很多设置,结果发现将选项卡布局设置为“单独”是原因 (4认同)

Oli*_*ver 6

这可能是因为您的主题颜色值导致当前系统首选布局的对比度不佳(对于用户\xe2\x80\x99s 选择全深色布局来说太亮)。我认为 Apple Developer 的这段视频中提到,如果 Safari 不满足特定阈值,Safari 将忽略您的自定义值:\n https://developer.apple.com/videos/play/wwdc2021 /10029/

\n

本文还提到了该行为/限制:https://css-tricks.com/meta-theme-color-and-trickery/

\n

要解决此问题,您需要添加 2 个主题颜色值,每个首选配色方案暗/亮各一个,并保持在阈值内。例子:

\n
<meta name="theme-color" content="#f9f9f9" media="(prefers-color-scheme: light)">\n<meta name="theme-color" content="#872e4e" media="(prefers-color-scheme: dark)">\n
Run Code Online (Sandbox Code Playgroud)\n