Вот еще один метод, который имеет два основных отличия: избегает использования фоновых изображений (использование которых семантически странно, как упоминалось в Nightfirecat) и помещает изображения в неупорядоченный список. Последнее не является необходимым, но, возможно, следует лучшим рекомендациям CSS.
Я не тестировал экстенсивно, но на недавних Firefox, Chrome и IE для ПК. Мне пришлось добавить хак для IE7 на основе предложений этой страницы . Вот причина пустого <span>
для каждого элемента списка.
CSS:
<style type="text/css">
#boxes {
list-style: none outside none;
margin: 0;
overflow: hidden;
padding: 0;
}
#boxes li {
float: left;
border: 1px solid #333;
margin: 30px;
}
#boxes li div {
position: relative;
width: 130px;
height: 130px;
text-align: center;
display: block
}
#boxes li div img {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto
}
</style>
<!--[if IE 7]>
<style type="text/css">
#boxes li div * {
vertical-align: middle;
}
#boxes li div img {
position: relative;
}
#boxes li div span {
display: inline-block;
height: 100%;
}
</style>
<![endif]-->
HTML:
<ul id="boxes">
<li><div><span></span><img src="wide1.jpg"></div></li>
<li><div><span></span><img src="wide2.jpg"></div></li>
<li><div><span></span><img src="wide3.jpg"></div></li>
<li><div><span></span><img src="tall1.jpg"></div></li>
<li><div><span></span><img src="wide4.jpg"></div></li>
<li><div><span></span><img src="tall2.jpg"></div></li>
</ul>
Сделано быстро, поэтому вполне возможно, что есть некоторые ошибки.