CSS 媒体功能 prefers-color-scheme 用于确定用户是更喜欢浅色主题还是深色主题。用户可以在设备设置或浏览器设置中选择自己喜欢的颜色模式,例如浅色或深色模式。
嵌入元素
- 您可以使用CSS 媒体功能 prefers-color-scheme 根据 SVG 和 iframe 嵌入的网页的颜色方案来更改它们的外观。SVG 必须用作图像 (<img src=“circle.svg” alt=“circle” />),而不是直接放在 HTML 中。
- 跨域 SVG 和 iframe 也可以使用 prefers-color-scheme。跨域元素是从与您当前所在的网站不同的网站加载的元素。
可能的值
- light − 此值表示浅色主题。
- dark − 此值表示深色主题。
语法
CSS prefers-color-scheme - light 值
以下示例演示了该元素将显示为带有蓝色文本的紫色背景,即使用户在其操作系统设置中请求了浅色主题 -
CSS prefers-color-scheme - dark 值
以下示例演示了默认情况下,该元素具有红色背景色和黑色文本颜色。该元素将显示为带有蓝色文本的紫色背景,即使用户在其操作系统设置中请求了深色主题 -
CSS prefers-color-scheme - 检测深色或浅色主题
以下示例演示了媒体查询 @media (prefers-color-scheme: dark) 和 @media (prefers-color-scheme: light) 将根据用户首选的颜色主题对 .theme 类应用不同的样式 -
CSS prefers-color-scheme - 颜色方案继承
以下示例演示如何使用 CSS 媒体功能 prefers-color-scheme 根据用户的首选颜色主题显示不同的 SVG 图像。
在此示例中,JavaScript 用于创建三个 SVG 图像:一个是粉红色背景色,一个是紫色背景色,另一个是由用户首选的颜色主题确定的背景颜色。
这是一个例子 -