Oi, tudo bem?
Acredito que a mudança possível seria através da imagem do ícone como background mesmo, o que não parece uma prática tão legal de código.
Pensando nisso, uma possibilidade muito legal seria utilizar a Font-Awesome, que é uma biblioteca de ícones que você pode adicionar em seu código e assim os ícones podem ser manipulados como se fossem uma fonte. Ou seja, você consegue mudar a cor deles no hover
usando a propriedade color
, que é a mesma que muda a cor do texto.
Vou deixar abaixo o link de um tutorial bem rapidinho que encontrei que mostra todo o passo a passo para usar a Font-Awesome e também o link do site oficial em que você encontra os ícones:
Como você vai conseguir ver no tutorial que deixei acima, para usar a Font-Awesome, você precisa importar ela no header
da sua página HTML colando uma linha de código que você encontra no site CDNJS, que você pode acessar clicando aqui;
Espero ter resolvido sua questão.
Caso ainda tenha alguma dúvida, me coloco à disposição!
Grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!