Из описания position:absolute
:
Создает абсолютно позиционированный элемент, позиционированный относительно первого родительского элемента, который имеет позицию, отличную от статической.
И, как вы заметили, для a:active
определено position:relative;
. Следовательно, теперь в <a><span></span></a>
комбинированная позиция span
считается относительно позиции a
, а не позиции .hp-promo-item
.
Что касается решения, если вам нужно переместить a
вниз на 1 пиксель на :active
, возможно, margin-top
будет работать лучше. Но подождите, у вас уже есть margin-top:1px
для .promo-content .icon
. Ну, может быть margin-top:2px !important;
тогда. Я не совсем понимаю цель предложить больше.
PS Спасибо, что рассказали о :active
помощнике в firebug, довольно полезном!