css - 如果我只能访问样式表,我可以实现暗模式选项吗?
问题描述
我网站的子域使用 cname 记录指向第 3 方资源。支持有限。我对该资源的唯一控制是样式。在页面加载时,它会从主域的根目录中提取样式表。在该样式表中,我可以从我的站点@import 更多样式表,但是从我的站点引用图像、字体等违反了跨域策略,并且它们不会加载。
我想为整个站点实现一个暗模式选项,并将这个子域包含在更改中。实现这一目标的最佳方法是什么?
我可以设置一个cookie或CSS可以以某种方式读取的东西吗?
当用户切换暗模式时,我是否替换整个样式表文件,如果是,我如何克服服务器和浏览器缓存?
我什至想过拥有两个不同的子域,但我知道这行不通,因为两者的样式表必须命名相同并位于同一个地方。
更新:感谢@Ryuno-Ki 的建议。
@media (prefers-color-scheme: dark)
是一个好的开始。它将允许我确定用户自己系统的暗模式设置并根据它自动应用 CSS。但我也想为用户提供一种在网站上切换它的方法(因为)。我可以以某种方式从我的主站点操作此属性吗?
解决方案
是的,这应该工作。暗模式通常适用于prefers-color-scheme: dark
媒体查询。样式表应该允许这样做。
关于图像:它会使网站膨胀,但使用数据 URI 可能会通过跨域策略。
推荐阅读
- reactjs - 在 React Native 中实现响应式启动画面的正确方法是什么?
- sql - 从具有不同条件的表中选择总和和平均值
- xamarin - Navigation.Removepage 导致问题 - Xamarin.forms
- dart - 如何使用 Angel 在服务器端 Dart 上获取 Redis 键值
- scala - 如何根据条件获取火花数据框中的值
- python - 为什么我的火炬卷积神经网络返回相同的输出?
- html - 我想加入 2 个 html 页面,但输出失真
- c# - 在与 EF Core 一起使用之前更改单个字段值
- php - 将自定义字段插入自定义帖子类型
- reactjs - CRA:将特别大的模块提取到单独的块中?