У меня есть следующий код:
<span>
<svg height="32" version="1.1" width="32" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative; left: -0.0166626px; top: -0.983337px;">
<desc></desc>
<defs/>
<path style="" fill="#333333" stroke="none" d="M15.985,5.972C8.422,5.972,2.289999999999999,10.049,2.289999999999999,15.078C2.289999999999999,17.955,4.302999999999999...............1,27.68,22.274Z"/>
</svg>
</span>
Можно ли изменить цвет заливки пути SVG с помощью CSS или каким-либо другим способом, фактически не меняя его внутри тега пути?
<symbol>
и<use>
. Смотрите этот ответ .Ответы:
Да, вы можете применить CSS к SVG, но вам нужно сопоставить элемент, как при стилизации HTML. Если вы просто хотите применить его ко всем путям SVG, вы можете использовать, например:
Внешний CSS, кажется, переопределяет
fill
атрибут пути , по крайней мере, в браузерах на основе WebKit и Gecko, которые я тестировал. Конечно, если вы напишите, скажем,<path style="fill: green">
тогда это переопределит и внешний CSS.источник
<svg>
тег.<use href="external.svg#objId" />
и ваш локальный CSS все равно будет применяться в некоторой степени.fill: #000;
вместоbackground: #000;
.если вы хотите изменить цвет, наведя курсор на элемент, попробуйте это:
источник
Если вы войдете в исходный код файла SVG, вы можете изменить цвет заливки, изменив свойство fill.
Используйте ваш любимый текстовый редактор, откройте файл SVG и поиграйте с ним.
источник
Вы положили этот CSS для круга SVG.
источник
Я наткнулся на удивительный ресурс по css-трюкам: https://css-tricks.com/using-svg/
Там есть несколько решений, объясненных там.
Я предпочел тот, который требовал минимального редактирования исходного svg, а также не требовал, чтобы он был встроен в HTML-документ. Эта опция использует
<object>
тег.Добавьте файл SVG в ваш HTML, используя
<object>
; Я также объявил атрибуты HTMLwidth
иheight
. Используя эти ширину и высоту, документ svg не масштабируется, я работал над этим, используя оператор csstransform: scale(...)
дляsvg
тега в моем связанном файле svg css.Создайте файл CSS, чтобы прикрепить его к документу SVN. Мой исходный путь SVG был масштабирован до 16 пикселей, я увеличил его до 64 с коэффициентом четыре. У него был только один путь, поэтому мне не нужно было выбирать его более конкретно, однако путь имел атрибут fill, поэтому мне пришлось использовать его,
!IMPORTANT
чтобы заставить css создать прецедент.Отредактируйте целевой файл SVG перед открывающим
<svg
тегом, чтобы включить таблицу стилей; Обратите внимание, что href относится к URL-адресу файла svg.источник
Вы можете использовать этот синтаксис, но он потребует некоторых изменений в файле SVG. И удалите любую заливку / обводку из самого SVG.
icon.svg
icon.html
источник
currentColor
Можно изменить цвет заливки пути svg. Ниже приведен фрагмент кода CSS:
Чтобы применить цвет для всего пути:
svg > path{ fill: red }
Чтобы подать заявку на первый путь d:
svg > path:nth-of-type(1){ fill: green }
Чтобы подать заявку на второй путь d:
svg > path:nth-of-type(2){ fill: green}
Чтобы подать заявку на другой путь d, измените только номер пути:
svg > path:nth-of-type(${path_number}){ fill: green}
Для поддержки CSS в Angular 2-8 используйте концепцию инкапсуляции:
источник
Вставьте все ваши svg:
В Css:
Чтобы использовать псевдоклассы:
объяснение
root = html page.
--svgcolor = переменная.
span.github = выбор элемента span с классом github, значком svg внутри и назначение наведения псевдокласса.
источник