Как переопределить путь SVG с помощью CSS - PullRequest
0 голосов
/ 30 апреля 2020

Для моего проекта требуется сторонняя JavaScript библиотека antd , которая содержит изображение svg, и я ожидаю переопределить путь svg.

У меня есть Прочитайте этот пост: CSS измените свойство d пути и научитесь делать это с d:path(). Но это только заменит один path другим path. Вот фрагмент из этого поста:

#demo svg path {
    d: path('M 850 300 C 850 300 350 300 350 300 L 348.1 205.39 L 120 400.39 L 348.1 606.19 L 350 500 C 850 500 850 500 850 500 z') !important;
}

Можно ли сделать полную замену?

Например: оригинальный svg

 <svg viewBox="64 64 896 896" focusable="false" class="" data-icon="eye-invisible" width="1em" height="1em" fill="currentColor" aria-hidden="true">
    <path d="M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"></path><path d="M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"></path>
    </svg>

Ожидаемый svg

    <svg viewBox="64 64 896 896" focusable="false" class="" data-icon="eye-invisible" width="1em" height="1em" fill="currentColor" aria-hidden="true">
    <path d="M942.2 486.2Q889.47 375.11 816.7 112z"></path>
    <path d="M942.2 486.2Q889.47 375.11 816.7 112z"></path>
    </svg>

Я ожидаю заменить один path оригинального svg двумя путями. Или замените несколько путей новым путем. Я пытаюсь найти более гибкую замену.

...