Центрирование блока по вертикали и горизонтали
Часто стал встречаться с задачей центрирования изображения внутри блока, при проектировании интернет-магазинов. Актуальней всего если шаблон плавающий\адаптивный.
В большинстве случаев делают смещение top и left 50% и отрицательный отступ, но есть более красивый способ:
HTML:
<div class="container"> <img src="/img.png" alt="" /> </div>
CSS:
.container {
position: relative;
}
.container img {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
Помоему такой подход выглядит аккуратней нежели отрицательные значения.
Ну если совсем уж подойти к плавающим стандартам можно заставить и изображение изменять свои размеры
.container {
position: relative;
}
.container img {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}
В случае центрирования блочного элеента, необходимо указать его размеры.
Посмотреть в действии: demo - изменяем размеры окна и наслаждаемся!
