Ключевыми классами для выделения здесь являются .ant-rate-star.ant-rate-star-full
, .ant-rate-star.ant-rate-star-zero
и .ant-rate-star.ant-rate-star-half.ant-rate-star-active
, поскольку они соответствуют полностью заполненным, пустым и наполовину заполненным звездам. Вы правы, предполагая, что это было transform: scale(x);
. С небольшим тестированием вы можете найти правильное значение шкалы (как ни странно, .91
было наиболее плавным). Мне также пришлось изменить transition
, так как корневой элемент имел какой-то переход, при котором масштабирование счетчика сработало бы, но был бы короткий период «отскока», когда он переходил от попыток масштабирования к принудительному масштабированию вниз.
Вот обновление код песочницы . Ниже приведен обновленный CSS.
.ant-rate-star.ant-rate-star-full,
.ant-rate-star.ant-rate-star-zero,
.ant-rate-star.ant-rate-star-half.ant-rate-star-active {
transition: transform 0s;
}
.ant-rate-star.ant-rate-star-half.ant-rate-star-active:hover {
transform: scale(0.91);
}
.ant-rate-star.ant-rate-star-full:hover {
transform: scale(0.91);
}
.ant-rate-star.ant-rate-star-zero:hover {
transform: scale(0.91);
}
Я также недавно написал пост в блоге, где написал пост в блоге о моей собственной системе звездного рейтинга с ванильными JS, CSS иHTML, если вы заинтересованы в чем-то более легко настраиваемом :).