Недавно столкнулась с такой проблемой: есть блок в котором размещена картинка неизвесной высоты и ширины. И она должна всегда отображатся по центру блока как по вертикали, так и по горизонтали.
Firefox ведет себя как приличный браузер, а на IE слов не хватает. Нашла вот каой метод борьбы:
Допустим внешний блок "block" имеет высоту 115px, внутри него расположена ссылка "link", а внутри ее расположен сам рисунок.
Для ссылки link код такой:
div.block a { display: table-cell; vertical-align: middle; width: 125px; height: 115px; zoom: 1; *display: block; line-height: 115px; }
- display: table-cell; vertical-align: middle; - это для адекватных браузеров.
- zoom: 1; *display: block; line-height: 115px; - для неадекватных. zoom=1 - делает для ie layout = -1.
Для рисунка:
.item div.block a img { *display: inline; vertical-align: middle; line-height: normal; }
- *display: inline; - для неадекватных браузеров.
А для вообще неадекватного браузера IE6 используем:
div.block a img { margin-top: expression((115-height)/2 + "px") !important; }.
Вот такая полезность. Кот может быть немного не точным из-за различного кода при верстке - его легко скорректировать, но суть таже.
Удачи. :))