• Авторизация


Проблемы с вертикальным выравниванием в IE. 23-05-2008 18:30 к комментариям - к полной версии - понравилось!


Недавно столкнулась с такой проблемой: есть блок в котором размещена картинка неизвесной высоты и ширины. И она должна всегда отображатся по центру блока как по вертикали, так и по горизонтали.

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; }.

Вот такая полезность. Кот может быть немного не точным из-за различного кода при верстке - его легко скорректировать, но суть таже.

Удачи. :))
вверх^ к полной версии понравилось! в evernote
Комментарии (6):
bluegirl 24-05-2008-10:25 удалить
Ох уж этот IE... Правда у меня другая проблема, и со всеми браузерами (проще сказать с мозгами гг). Из-за горизонтального выпадающего меню между ним и ниже лежащими объектами остается пустое место. Но это я решила путем отрицательного позиционирования. После этого этот ниже лежащий объект стал перекрывать выпадающий список в меню. Я присвоила объекту отрицательный слой и вроде всё стало на свои места. А потом выяснилось, что ниже меню, там где так сказать 'территория' этого выпадающего списка, не работают ссылки! Моя тупая голова не поймет почему :( В общем, надыбала я другое меню, без применения ява скрипт. С ним всё в порядке, только надо подогнать под дизайн предыдущего.
Web-Black-Cat 24-05-2008-15:33 удалить
Горизонтальное менб нада делать абсолютным позиционированием - тогда этой проблемы не будет. <--------div class="menu"> <----ul> <---li> <---a href="#">link<---/a> <---div class="submenu">...<----/div> <---/li> <---li>..... <---/ul> <---/div> css: .submenu {position: absolut; z-index=1; display: none; ...ну и далее что там надо - растояние, цвета содержимого...} .menu ul li a:hover .submenu { display: block; } ---------------- Вообщем такое меню можно сделать и без JS, а можно подкорректировать работу JS. :)
Web-Black-Cat 24-05-2008-15:36 удалить
Извиняюсь, что код не красиво, но это что-бы он не воспринимался визавиком li.ru
bluegirl 24-05-2008-16:54 удалить
Спасибо, Юля! :) постараюсь пересмотреть. Новое меню-то без ява, но оно такое громоздкое. Буду стараться воскресить старое путем абсолютного позиционирования. :) Я вот еще заметила такую вещь странную... Когда добавляешь на страницу некоторые ява скрипты в IЕ6 страница становится в иероглифах. Даже несмотря на указанную кодировку. Другие браузеры себя так не ведут...
Web-Black-Cat 24-05-2008-19:34 удалить
Да не за что собственно. :) Абы помогло. :))) Что до ява скриптов а ИЕ6, то незнаю - не сталкивыалась. Но ИЕ такой загадочный зверек, что все может быть. :) А, или где-то что то не закрыто правильно в скрипте , если ты его конечно вставляешь в сам хтмл код.
bluegirl 25-05-2008-01:16 удалить
Обычно я вставляю ссылку на файл с кодом скрипта. Но тот глюк не меняется от того, каким образом вставлен скрипт. И такое не только у меня! Я часто это замечала, когда сидела с ИЕ6 в интернете. Я так думаю, что это потому, что у скрипта другая кодировка, нежели у всей станицы, и ИЕ почему-то перестраивает под ту кодировку всю страницу. Других причин не могу придумать гггг


Комментарии (6): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Проблемы с вертикальным выравниванием в IE. | Web-Black-Cat - Дневник HTML-кодера | Лента друзей Web-Black-Cat / Полная версия Добавить в друзья Страницы: раньше»