iPad - 从桌面反转的 SVG 颜色

Posted

技术标签:

【中文标题】iPad - 从桌面反转的 SVG 颜色【英文标题】:iPad - SVG colors inverted from desktop 【发布时间】:2016-08-11 14:26:54 【问题描述】:

看看下面的两张图片:

桌面:

iPad:

注意到外圈的颜色了吗?为什么它们在 iPad 上是倒置的?

.statistic-container 
  display: inline-block;
  position: relative;
  width: 100%;
  overflow: hidden;
  max-width: 326px;
  margin-bottom: 20px;

.statistic-container:before 
  content: '';
  padding-bottom: 100%;
  display: block;

.statistic-container svg 
  fill: transparent;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(270deg);

.statistic-container__outer-circle 
  stroke: #385fd1;
  stroke-width: 16;
  stroke-dasharray: 1607;
  stroke-dashoffset: -530;

.statistic-container__inner-circle 
  stroke: #02158b;
  stroke-width: 16;
  stroke-dasharray: 1607;
<div class="statistic-wrapper">
  <div class="statistic-container">
    <svg viewBox="0 0 500 500">
      <circle cx="250" cy="250" r="242" class="statistic-container__inner-circle"></circle>
      <circle cx="250" cy="250" r="242" class="statistic-container__outer-circle"></circle>
    </svg>
  </div>
</div>

【问题讨论】:

看起来像是 dashoffset 或转换的问题...您是否尝试过调整它并查看问题是否仍然存在。 【参考方案1】:

感谢 Paulie_D 的提示。

当您在stroke-dashoffset 上使用负值时,ipad 似乎无法正常播放。

以下解决了我的问题:

.statistic-container__outer-circle 
  stroke: #385fd1;
  stroke-width: 16;
  stroke-dasharray: 1607;


.statistic-container__inner-circle 
  stroke: #02158b;
  stroke-width: 16;
  stroke-dasharray: 1607;
  stroke-dashoffset: 1077;

我去掉了外圆的负偏移量,在内圆上加了一个正偏移量。

【讨论】:

以上是关于iPad - 从桌面反转的 SVG 颜色的主要内容,如果未能解决你的问题,请参考以下文章

Android Dark 主题反转矢量可绘制对象的颜色

ios16系统桌面app名字颜色?

求助各位大神,图标反转的问题

SVG 对象从外部 CSS 更改颜色

如何让 SVG 图像从 HTML 文档继承颜色?

如何使用css在svg中添加从下到上流动的颜色