Наложение и центрирование двух изображений с использованием CSS - PullRequest
2 голосов
/ 27 декабря 2011

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

Я использую -

img.center {   display: block;   margin-left: auto;   margin-right: auto; }

Для центрирования изображений на странице.

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

enter image description here

enter image description here

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

Есть ли в любом случае, чтобы сделать это? если какой-нибудь пример кода будет чрезвычайно полезен, или просто точка в правильном направлении.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 27 декабря 2011

Вы можете использовать метод отрицательного смещения .

<div class="img_cont">
    <img src="1.png" alt="" class="first"/>
    <img src="2.png" alt="" class="second"/>
</div>
<style>
.first, .second{
    margin:0 0 0 -200px; /* where 400px is width offset is / 2) */
    position:absolute;top:0;left:50%;
}
.second{
    margin:0 0 0 -100px; /* let's guess second image was 200px wide */
}
</style>
2 голосов
/ 27 декабря 2011
<div class="img_cont">
    <img src="1.png" alt="" class="first"/>
    <img src="2.png" alt="" class="second"/>
</div>
<style type="text/css">
    div {
        width: 300px;
        height: 300px;
        position: relative;
            margin: 0 auto;
    }

    .first {
        width: 100%;
        height: 100%;
    }

    .second {
        position: absolute;
    }
</style>
<script type="text/javascript">
    $(".home_click").css("left", ($(".img_cont").width() - $(".second").width()) / 2 + "px");
    $(".home_click").css("top", ($(".img_cont").height() - $(".second").height()) / 2 + "px");
</script>
0 голосов
/ 08 февраля 2017

<style type="text/css">
	body {
  margin: 0px;
}

.height-100vh {
  height: 100vh;
}

.center-aligned {
  display: box;
  display: flex;
  box-align: center;
  align-items: center;
  box-pack: center;
  justify-content: center;
}

.background-image {
  position: relative;
}

.text {
  position: absolute;
}
</style>
<div class="height-100vh center-aligned">
  <img class="background-image" src="http://i.imgur.com/1aBfM.png" />
  <img src="http://i.imgur.com/DH3Qw.png" class="text">
</div>
...