Центрирование блока по вертикали и горизонтали
Часто стал встречаться с задачей центрирования изображения внутри блока, при проектировании интернет-магазинов. Актуальней всего если шаблон плавающий\адаптивный.
В большинстве случаев делают смещение 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 - изменяем размеры окна и наслаждаемся!