Как централизовать изображения с абсолютной позицией?
У меня есть три изображения в <div>
, Я хочу, чтобы изображения накладывались друг на друга (для слайд-шоу с использованием прозрачности) и оставались в центре моего сайта.
Для наложения изображений я установил их положение на абсолютное (position: absolute;
). Однако это противоречит моему методу централизации моих изображений. Чтобы сделать мои изображения центральными, я даю изображениям следующие свойства: margin: 0 auto; display: block;
Это не работает, когда позиции изображений установлены на абсолют. Какие еще методы я могу использовать для наложения моих изображений и / или их централизации.
<div>
<img id="SlideShow1" src="Images\image1.jpg" width="512" height="512">
<img id="SlideShow2" src="Images\image2.png" width="512" height="512">
<img id="SlideShow3" src="Images\image3.jpg" width="512" height="512">
</div>
img {
position: absolute;
margin: 0 auto;
display: block;
}
3 ответа
Другой вариант с использованием CSS3 transform
:
img{
display:block;
position:absolute;
left:50%;
transform:translate(-50%,0);
}
При необходимости добавьте префиксы поставщиков.
Это также было упомянуто в ответе на вопрос " Центрировать изображение с помощью CSS (горизонтальный и вертикальный)".
В дополнение к установке автоматических полей и абсолютного позиционирования, вам также нужно установить все смещения (верх / левый / и т. Д.) В 0. Этот метод должен работать, пока у вас есть заявленная высота:
.absolute-center {
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}
( источник)
Увидеть скрипку
Чтобы централизовать абсолютно позиционированные элементы, используйте
left:0;
right:0;
вместе с margin:0 auto;