Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
暗模式下的HTML邮件_Html_Css_Frontend_Darkmode - Fatal编程技术网

暗模式下的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

我正在处理一个电子邮件项目,需要在黑暗模式下显示电子邮件正文。 电子邮件正文是一个具有已定义颜色样式的HTML。 我的目标是翻转文本和背景色,以暗模式显示。 定义这样的暗方案样式

@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的显示。