Почему не срабатывает before у списка?
li:before {
  content: ''; // у псевдоэлемента обязательно должно быть указано содержимое, пусть и пустое
  display: inline-block; // ширину и высоту можно указать только блочным элементам
  background-size: contain; // поскольку картинка намного больше контейнера, нужно явно указать её размер
  background-image: url('https://image.freepik.com/free-icon/information_318-10929.jpg');
  width: 50px;
  height: 50px;
}Есть сгенерированный список без главного тега ul.Если нет ul, то это не список, а кучка невалидных бессмысленных тегов. Не надо так делать.
держите