当前位置: 首页 > 知识库问答 >
问题:

系统暗/亮模式图标

邓俊材
2023-03-14

“解决了”我正在尝试为我的网站制作一个暗/亮模式图标,所以我制作了代码:

<svg>
 <style>
    @media (prefers-color-scheme: dark) {
      .dark {
        display:none;
      }
      .light {
        display:true;
      }
    }
    @media (prefers-color-scheme: light) {
      .dark {
        display:true;
      }
      .light {
        display:none;
      }
    }
  </style>
<img x="0" y="0" class="dark" src="https://7c-code.tk/favicon/icon-dark.png" width="100px" height="100px" ></img>
<img x="0" y="0" class="light" src="https://7c-code.tk/favicon/icon-dark.png" width="100px" height="100px" ></img>
</svg>

它工作正常,但只能在html中呈现,所以我将它改成

<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">
 <style>
    @media (prefers-color-scheme: dark) {
      .dark {
        display:none;
      }
      .light {
        display:true;
      }
    }
    @media (prefers-color-scheme: light) {
      .dark {
        display:true;
      }
      .light {
        display:none;
      }
    }
  </style>
<img x="0" y="0" class="dark" src="https://7c-code.tk/favicon/icon-dark.png" width="100px" height="100px" ></img>
<img x="0" y="0" class="light" src="https://7c-code.tk/favicon/icon-dark.png" width="100px" height="100px" ></img>
</svg>

现在,由于某种原因,所有元素都定位在右下角,尽管我为图像指定了x和y位置。我怎么解决这个?提前道谢!

编辑:原来我只是哑巴,我不知道html img和svg图像有什么不同。解决了,下面是我的代码:

<svg viewbox="0 0 100 100"  xmlns="http://www.w3.org/2000/svg">
 <style>
    @media (prefers-color-scheme: dark) {
      .dark {
        display:none;
      }
      .light {
        display:true;
      }
    }
    @media (prefers-color-scheme: light) {
      .dark {
        display:true;
      }
      .light {
        display:none;
      }
    }
  </style>
<image x="0" y="0" class="dark" href="https://7c-code.tk/favicon/icon-dark.png" width="100px" height="100px" ></image>
<image x="0" y="0" class="light" href="https://7c-code.tk/favicon/icon-dark.png" width="100px" height="100px" ></image>
</svg>

共有1个答案

戈建白
2023-03-14

这只是一种猜测,但您可能正在处理viewbox问题。如果我没有搞错的话,x=y=(viewbox属性)必须在SVG标记上,而不是在SVG中的标记上。

另外,您可能拼错了SVG标记

有关ViewBox的详细信息,请参阅此其他答案:

如何使用 viewBox属性?

 类似资料:
  • 是否可以更改GitHub中以GitHub的暗模式和亮模式为条件的README. md图像显示?也许我可以在我的README. md中放入一个简单的条件。

  • 我想创建一个flutter应用程序,它有2个明暗模式主题,通过应用程序内的开关进行更改,默认主题是默认的android主题。 我需要将一些自定义颜色传递给其他小部件,我不想只是配置材料主题。 如何检测用户设备默认主题 第二个问题是如何为整个应用程序提供主题 第三个问题是如何通过运行时间的简单切换来改变主题

  • 在 macOS 10.14 Mojave中, Apple 为所有 macOS 电脑引入了一个全新的 系统级黑暗模式。 If your app does have a dark mode, you can make your Electron app follow the system-wide dark mode setting. In macOS 10.15 Catalina, Apple in

  • 我想知道如何实现在暗模式和光模式下切换图像。我不想把切换应用程序。只需在iOS或Android中切换设置上的黑暗模式。

  • 伴随着移动互联的大潮,当今越来越多的网站已经从网页模式进化到了 Webapp 模式。它们运行在现代的高级浏览器里,使用 HTML5、 CSS3、 ES6 等更新的技术来开发丰富的功能,网页已经不仅仅是完成浏览的基本需求,并且webapp通常是一个单页面应用,每一个视图通过异步的方式加载,这导致页面初始化和使用过程中会加载越来越多的 JavaScript 代码,这给前端开发的流程和资源组织带来了巨大

  • 模块系统 Rust有两个与模块 (module) 系统相关的独特术语:crate和module, 其中包装箱 (crate) 与其它语言中的 libary 或者 package 作用一样。 每个包装箱都有一个隐藏的根模块,在根模块下可以定义一个子模块树, 其路径采用::作为分隔符。包装箱由条目 (item) 构成,多个条目通过模块组织在一起。 定义模块 使用mod关键字定义我们的模块: // in