Как починить background-position в :hover для элемента с фоном заданным в атрибуте style?
Воу... зачем же всё так усложнять то... Ну генерируются программно - ок... 
Я думаю раскидать классы для вас не будет проблемой, верно?<li class="infoItem">
  <div class="img" style="background-image: url('img/bulb.png');"></div>
  <div class="text">текст текст текст текст</div>
</li>
и стили.infoItem .img {
	width:80px;
	height:80px;
	margin:0 auto 20px;
background-position: 0 0;
background-repeat: no-repeat;
}
.infoItem:hover .img {
	background-position: 0 100%;
}
А в теге есть возможность исправить? Там надо написать не короткой записью, а полной. Т.е. <div style="background-image: url('img/bulb.png'); background-repeat: no-repeat;"></div>
Все дело в том, что при записи коротким способом браузер сам все дописывает, что Вы не указали, а инлайн-стили, которые Вы пишете в теге, перекрывают те, что в файле css.