记一次有关svg样式的bug修复

124 阅读1分钟

今天主包在正常进行coding时,遇到了一个难题,我想要将引入的bar改成暗夜模式,需要将原本灰的图标改成白的。

image.png

但是我修改的css属性只对svg样式只有部分生效。 代码:

.specialEditor :global(button svg polyline),
.specialEditor :global(button svg line) {
  stroke: var(--color-neutral-8) !important;
  color: var(--color-neutral-8) !important;
}

image.png

直接给svg加全局属性也不行

svg{
   color: white
   fill: white;
   stroke: white;
}

各种尝试皆失败后,主包打开了svg的具体代码

image.png

image.png

啊哈哈哈哈!是因为这个编辑器组件本身给svg封装了部分的颜色控制,然后直接覆盖就好啦~

最后代码:

.specialEditor :global(button svg .ql-stroke) {
  stroke: var(--color-neutral-8);
}

.specialEditor :global(button svg polyline),
.specialEditor :global(button svg path),
.specialEditor :global(button svg rect),
.specialEditor :global(button svg line) {
  stroke: var(--color-neutral-8);
}

.specialEditor :global(svg g.ql-fill) * {
  stroke: var(--color-neutral-8);
  fill: var(--color-neutral-8);
  opacity: 0.4;
}

效果

image.png