Загрузка...
Загрузка...
В SVG цвет задаётся через специальные атрибуты:
fill — цвет заливкиstroke — цвет обводкиПрямо внутри SVG можно указать цвет:
<svg width="100" height="100" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="40" fill="red" />
</svg>
fill="red" — закрасит круг в красныйstroke="black" — обведёт фигуру черным<svg class="icon" width="100" height="100" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="40" />
</svg>
<style>
.icon circle {
fill: blue;
stroke: black;
stroke-width: 3;
}
</style>
<svg class="icon" viewBox="0 0 24 24">
<path fill="currentColor" d="..." />
</svg>
<style>
.icon {
color: green;
}
</style>
<img src="icon.svg">)Изменить цвет через CSS нельзя Нужно:
mask-image или filter, но это сложнее и ограниченноЛучше всего использовать SVG как React компонент или через inline-loader в сборщиках (webpack, Vite).
import { ReactComponent as Logo } from './logo.svg';
function App() {
return <Logo style={{ fill: 'blue' }} />;
}
Или используйте fill="currentColor" в SVG и управляйте цветом через color у обертки.
Совет:
Для максимального контроля — встраивайте SVG inline или используйте их как React-компоненты.