2016-03-07 3 views
3

Я столкнулся с некоторыми проблемами, связанными с использованием svg. У меня есть следующие HTML и CSS кодыЦвет фона SVG не работает на Firefox

<i id="iconApp" class="icon_approved icon_lg pull-right"></i> 

.icon_approved { 
    background-color: #fab700; 
    display: block; 
    mask: url(../Tick-Solid.svg) no-repeat 50% 50%; 
    -webkit-mask: url(../Tick-Solid.svg) no-repeat 50% 50%; 
    background: url(../Tick-Solid.svg) no-repeat 50% 50%; 
} 

The mask не работает на Firefox, поэтому вместо этого я добавил background собственность, и она работает так, как я хотел, чтобы это было. Однако цвет не работает должным образом. Вместо того, чтобы иметь цвет #fab700, вместо этого он интерпретируется как фоновый цвет.

enter image description here

Оранжевый должен быть цвет иконы, а не цвет фона.

Дополнительная информация:

Я не могу найти слова для поиска искать такого рода проблемы, но я нашел что-то похожее на мою проблему.

Ссылка: http://codepen.io/noahblon/post/coloring-svgs-in-css-background-images

После глядя на первом примере, он делает правильно на хром. Но если вы открыли ссылку на firefox, она появится в виде ящиков (я предполагаю, что это цвет фона элемента).

+1

маска должна указывать на маску элемента в файле SVG, а не полный файл SVG. Это неправильный код, а не Firefox. Вы также установили цвет фона и, похоже, удивлены, что он действует как фоновый цвет. Сообщение, на которое вы ссылаетесь, имеет ошибки. –

+1

Я добавил комментарий, указывающий на ошибку в блоге. –

ответ

0

Вы не можете изменить цвет содержимого SVG по ссылке background-image. Все настройки background-color делает установленный задний фон. Это то, что вы видите здесь.

Если вы хотите изменить цвет значка, вам необходимо изменить SVG-файл. Или вы можете встроить SVG в HTML, это также возможно сделать с помощью элемента <object>.

Смежные вопросы