Я решил, что ваша проблема заключается в том, что вы пытаетесь выполнить градиентный переход. Не поддерживается. Но если вы хотите смоделировать это, вы можете использовать свойство opacity в css. Добавьте opacity: 0 к основному элементу (.social-item) и opacity: 1 к состоянию наведения (.social-events: hover). Следовательно, переход: 0.2 будет применяться к непрозрачности, поскольку она поддерживается, таким образом имитируя желаемый результат. Таким образом, окончательный css будет.
.social-item {
margin-left: 0.25vw;
padding: 0.1vw;
transition: 0.2s;
color: white;
opacity:0;
}
.social-item:hover {
background: linear-gradient(to left, #8E2DE2, #DC0486);
color: white;
opacity: 1;
}
Если вы действительно хотите, чтобы объект отображался нормально, а не только при наведении курсора, тогда opacity: 0 вам не поможет. Вы должны использовать псевдоселектор: после того, как добавить фиктивный элемент в основной класс и обработать все переходы и материал градиента фона. Вот пример кода .