vertical-align:middle в IE7
Для нормальных браузеров помещаем текст/картинку в контейнер, для контейнера задаём:
display:table-cell;
vertical-align:middle;
для ie7 контейнеру задаем display:block
А для самого элемента, который нужно выровнять:
display:block;
margin-top: expression((parentNode.offsetHeight.offsetHeight/2)-(parseInt(this.offsetHeight)/2) <0 ? "0" :(parentNode.offsetHeight/2)-(parseInt(this.offsetHeight)/2) + 'px');