暗模式下的HTML邮件
我正在处理一个电子邮件项目,需要在黑暗模式下显示电子邮件正文。 电子邮件正文是一个具有已定义颜色样式的HTML。 我的目标是翻转文本和背景色,以暗模式显示。 定义这样的暗方案样式暗模式下的HTML邮件,html,css,frontend,darkmode,Html,Css,Frontend,Darkmode,我正在处理一个电子邮件项目,需要在黑暗模式下显示电子邮件正文。 电子邮件正文是一个具有已定义颜色样式的HTML。 我的目标是翻转文本和背景色,以暗模式显示。 定义这样的暗方案样式 @media (prefers-color-scheme: dark) { html { filter: invert(1) hue-rotate(180deg); } img, video { filter: invert(1) hue-rotate(180d
@media (prefers-color-scheme: dark) {
html {
filter: invert(1) hue-rotate(180deg);
}
img, video {
filter: invert(1) hue-rotate(180deg);
}
}
在整体翻转颜色后,将图片和视频翻转回来看起来效果不错。
唯一的缺陷是,这也会翻转表情符号的颜色,使它们看起来很恐怖
我还试着混合颜色
color: white;
mix-blend-mode: screen;
这也会使表情符号的颜色变亮。而且它不会使黑色文本显示为白色
这归结为一个问题:如何使下面的文本显示为白色,并保持表情正常显示
<div style="color: black;">
Hello world! You should put your emojis in a span with a class of emoji. Then, in CSS, along with the body, you should invert it.
If you invert something that is inverted, it goes back to normal! :)
I think you need something like this:
html {
background: white;
color: black;
}
@media (prefers-color-scheme: dark) {
html {
filter: invert(1);
}
.emoji {
filter: invert(1);
}
}
你好,世界 你应该把你的表情符号和一类表情符号放在一起。然后,在CSS中,与主体一起,您应该将其反转
如果你把倒转的东西倒过来,它就会恢复正常
我想你需要这样的东西:
html{
背景:白色;
颜色:黑色;
}
@介质(首选颜色方案:深色){
html{
过滤器:反转(1);
}
.emoji{
过滤器:反转(1);
}
}
你好,世界!
你就不能用通常的CSS吗@media(首选配色方案:深色){html{background:black;color:white;}}
这不会覆盖样式中的颜色定义。即使添加一个!重要标签,它将使所有颜色变为白色。事实上,Apple mail应用程序可以在黑暗模式下持续显示多种颜色。你的意思是这是一个特殊性问题,还是应用程序不允许你更改它?因为传入电子邮件的HTML是不受控制的,所以只能根据它进行更改。作为邮件应用程序,我可以控制HTML的显示。