如何控制配色方案以获得深色或浅色徽标?

我正在尝试使用深色标题背景但浅色网站背景的配色方案。

有没有办法可以标记这些配色方案,以便它们仍然可以拾取深色模式徽标(因为它是浅色文本)?

你好 @FroggyC :wave:

也许这些会有帮助:

2 个赞

嗯,不容易。我们计算深色模式徽标是基于整个配色方案是否被视为深色,为此我们比较主色和次色的亮度。该计算发生在代码的此处

不过,你的用例并不完全符合这种情况。你可以编写一个徽标的主题覆盖,默认使用深色徽标,但那样的话,你需要用户同时切换主题和配色方案……这很棘手。我猜你想让用户选择多个配色方案,对吧?

3 个赞

是的,我正在运行一个单一的主题实例,并且希望保持这样。这对用户来说简单得多。

我乐于接受一些hacky的解决方案,比如能够根据配色方案注入自定义CSS/JS。

但理想情况下,在我看来,每种配色方案都应该有一个选项来决定它是选择深色还是浅色logo。根据基本背景色自动决定是行不通的,这正是因为页眉背景可能完全不同。

这也许是可取的,我不太确定,但即使是这样,配色方案也很难控制。从某种意义上说,让配色方案选择其徽标意味着配色方案会超出其自身的范围。

这也使任何可能的黑客行为变得复杂。我们目前没有办法根据配色方案的名称或 ID 添加 CSS 或 JS。

主题调色板中的特定颜色怎么样?比如根据标题颜色对徽标进行条件 CSS 设置?

我非常同意。

在我的论坛上,我们有一个粉红色的配色方案。它有一个粉红色的标题栏和一种浅色的辅助颜色。
在浅色方案中,标题栏看起来像这样:

在粉红色方案中,我们期望徽标看起来像这样,就像深色模式徽标一样:

但实际上我们得到的是这样,因为 discourse 只是将其视为适应浅色模式徽标:

最后,我们使用了一些不太优雅的主题组件来使徽标受到标题栏颜色的影响。我们对深色和浅色模式如何影响徽标的自动确定感到有些苦恼。

3 个赞

我的意思是,这似乎并没有超出配色方案的范围。

我不是在谈论自定义的每个配色方案的徽标,我只是要求有一个设置来确定配色方案是应调用浅色模式还是深色模式徽标,而不是自动确定。自动检测仍然可以作为默认行为。

我设想一个名为“徽标检测”的下拉菜单,选项为“自动”、“浅色”和“深色”。然后,您用于进行确定的任何代码都可以看到该复选框,并在自动时检查背景颜色,或者直接选择指定的徽标。

在我看来,这似乎是与配色方案在语义上相关的信息,而不是一个主要功能。

我很想知道你的解决方案,@Lhc_fl。至少对我来说,这可以是一个临时的解决方法。

如果你能更详细地解释一下那会如何运作,@Lilly,我洗耳恭听。

我们已将每种配色方案分别制成主题……

2 个赞

太遗憾了。谢谢。

是的,我和 @Lhc_fl 在我的论坛上做了类似的事情,但我根据类别在两种深色和浅色主题中更改了标题颜色和徽标。我的用户并不精通技术,发现主题中的浅色-深色选项令人困惑,所以我改用浅色和深色主题。我认为这会是我的建议,因为你只处理一个实际的主题。侧边栏主题切换 TC 使切换对用户来说很容易。

1 个赞

如果我想提出一个功能请求,是否可以在#feature频道创建一个帖子?

2 个赞

是的,可以 :+1: 或者我们可以将此主题移至 Feature

1 个赞

如果可能的话,我认为优先提交新的 FeatureUX 请求,而不是将 Support 主题滑过来。这样,你就可以在 OP 中恰当地构建你想要的内容,充实一个强有力的用例,并在探索一个 Support 主题时,将你可能学到的任何东西折叠进来/进行总结。

最终,你的论据越有力,它被考虑用于开发时间的机会就越大。:+1:

2 个赞

我将创建新主题并重新构建它。

2 个赞