zoukankan      html  css  js  c++  java
  • DarkMode(4):css滤镜 颜色反转实现深色模式

    在《DarkMode(1):产品应用深色模式分析》提过,单纯反转是不行的。但是,把不需要反转的,在反转过来。或者用js,给想要反转的,加上反转样式,再对其他的做微调。这样个人觉得,开发成本是最低的

    @media (prefers-color-scheme: dark) {
     // one
     .app{
      filter: invert(1) hue-rotate(180deg);
      img,button,.active {
        //filter: brightness(.8) contrast(1.2);
        filter: invert(1) hue-rotate(180deg);
      }
     }
     // two
     div:not(.no-invert){
       filter: invert(1) hue-rotate(180deg);
     }
     // three
     :not(img) { filter: invert(100%) hue-rotate(180deg); } 
    }

    老外说:It’s not 100% accurate in my case, because my dark background color is not perfectly black, but it’s better than nothing.

    真正实战与项目,一般是这样的

    .dark-mode-box {
        filter: invert(1) hue-rotate(180deg);
        
        // 不需要反转的,在反转回去
        // 图片
        img,
        iframe,
        // element 元素
        .el-tag--primary, .el-tag--success, .el-tag--warning, .el-tag--error,
        .el-button--primary, .el-button--primary,
        .invert-restore{
            filter: invert(1) hue-rotate(180deg);
        }
        .invert-restore{
            // 反转回去的,里面的东西,在去除反转
            img{
                filter: none;
            }
        }
    }

    这个也大致可用。这是最省事的办法。

  • 相关阅读:
    1725最少硬币问题(DP)
    3358高数Umaru系列(9)——哈士奇(DP)
    1018骨牌铺方格(分治算法)
    3664顺序表应用7:最大子段和之分治递归法(分治算法)
    1722整数因子分解问题(分治算法)
    剑指offer JZ-11
    剑指offer JZ-10
    剑指offer JZ-9
    剑指offer JZ-8
    剑指offer JZ-7
  • 原文地址:https://www.cnblogs.com/zhoulujun/p/14123278.html
Copyright © 2011-2022 走看看