2011-12-29 3 views
0

Я использую следующий плагин галереи на веб-сайте. http://www.twospy.com/galleriffic/example-2.htmlВертикальное выравнивание изображений в старых браузерах

Обратите внимание, что изображения вертикально выровнены по центру. Div, содержащий изображения, имеет свойство вертикального выравнивания и высоту линии, установленную на размер высоты div. К сожалению, изображения не совпадают с посередине в старых браузерах, таких как AOL ..

Какой css можно использовать для выравнивания?

+1

Старые браузеры, такие как AOL ??? – Wex

+0

Я говорю, что, поскольку AOL все еще кажется старым, несмотря на обновления. – CyberJunkie

ответ

1

Существует множество способов сделать вертикальное центрирование с различными уровнями совместимости. Первые два результата Google дают хорошие методы:

Один, который может хорошо работать для вас является абсолютным метод позиционирования. Это зависит от того, насколько точно вы знаете высоту изображения, но для галереи изображений вы, вероятно, будете отображать все изображения на одной высоте. По существу:

.img-container { 
    position: relative; 
} 

.img-container img { 
    height: 400px;  /* up to you what the correct height is */ 
    margin-top: -200px; /* put here 1/2 of the image height from above */ 
    position: absolute; 
    top: 50%; 
} 

для разметки что-то вроде

<div class="img-container"> 
    <img src="whatever.jpg" /> 
</div> 
+0

Я думаю, что использование абсолютного положения имеет серьезные недостатки при рассмотрении разных разрешений экрана. – defau1t

+0

Спасибо, это хорошее решение, но предположим, что я не знаю высоту изображений. – CyberJunkie

+0

В этом случае вы не можете сделать это с помощью CSS для старых браузеров, так как ссылки, которые я показывал в своих таблицах совместимости с браузерами. Вам понадобится JavaScript. – Domenic

0

Если я хорошо понял ваш вопрос, то, я думаю, я боюсь сказать, что его невозможно достичь только с помощью CSS. В этом случае вам может потребоваться рассчитать ширину и высоту контейнера div, который удерживает изображение, а затем разделить его на два, чтобы найти центр и поместить ваше изображение там.

margin: 0 auto; будет выровнять по горизонтали, а не по вертикали.

Примечание: Это будет чисто jquery.

+0

Вы запутываете jQuery и JavaScript? – Domenic

+0

Нет, я действительно продвигаю jquery. и оба будут работать – defau1t

+0

http://www.doxdesk.com/updates/2009.html#u20091116-zalgo и особенно http://www.doxdesk.com/img/updates/20091116-so-large.gif актуальны в таком случае. – Domenic

0

Вы можете заставить высоту на изображение для определенного размера, положения изображения абсолютно относительной емкости в верхней части: 50% с разницы-топ - (50% высоты) px. Это будет чисто css-решение.

0

Ваш лучший метод для вертикально-выравнивая использовать атрибут vertical-align CSS:

<div id="thumbs"> 
    <!--Thumbnails for images--> 
</div><div id="gallery"> 
    <!--Images--> 
</div> 

CSS:

#thumbs { 
    vertical-align: middle; 
    display: inline-block; } 
#gallery { 
    vertical-align: middle; 
    display: inline-block; } 
#gallery img { display: block; } 

Preview: http://jsfiddle.net/Wexcode/PHrw5/

+0

Вертикальное выравнивание уже установлено и не работает в ужасных браузерах, таких как AOL.Я ищу полнофункциональное решение. Я думаю, что js является ключевым, о чем говорят другие. – CyberJunkie

Смежные вопросы