Почему Дёргаются элементы при наведении?
Изначально добавьте прозрачный бордер, а при наведении уже меняйте у него цвет
border занимет пространство. на это самое пространство он и дрыгается. задай изначально для спана border с transparent цветом. а потом при наведении цвет меняй