Пользовательский цвет для маркера SVG

У меня есть следующий CSS

ul {
  list-style: none;
}

ul > li::before {
  content: "";
  height: 1em;
  width: 1em;
  display: block;
  float: left;
  margin-left: -1.5em;
  margin-top: 7px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  transition: background-size 0.3s;
  -webkit-transition: background-size 0.3s;
}

ul > li::before {
  background-image: url(../images/check-mark.svg);
}

Что отлично работает с HTML ниже

  <ul>
    <li>first</li>
    <li>last</li>
  </ul>

Теперь я хочу добавить второй список, используя ту же галочку, но другого цвета.

Итак, я обновил свой код следующим образом

HTML

   <ul class = "blue">
     <li>first</li>
     <li>last</li>
   </ul>

CSS

svg {
  fill: currentColor;
}

ul.blue > li::before {
  color: blue;
}

Но галочка по-прежнему черная. Как сделать так, чтобы галочки в списке blue были синими?

вам нужно применить фитер или использовать другой SVG (вот идея: stackoverflow.com/a/54802632/8620333)

Temani Afif 14.03.2019 17:16

Пожалуйста, проверьте, помог ли какой-либо из ответов.

Evik Ghazarian 14.03.2019 17:43
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
3
2
1 583
1

Ответы 1

Вы не можете изменить цвет изображения только цветом: синий; Возможно, это сработает:

ul.blue > li::before {
fill: blue;
}

Или просто найдите другое изображение с синей галочкой и добавьте его так же, как

ul.blue > li::before {
  background-image: url(../images/blue-check-mark.svg); 
}

Другие вопросы по теме