<div class="container">
  <p>Cross Browser method</p>
  <div class="image-stack">
    <div class="image-stack__item image-stack__item--top">
      <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/110238/portrait1.jpeg" alt="">
    </div>
    <div class="image-stack__item image-stack__item--bottom">
      <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/110238/texture-waves-cropped.jpg" alt="">
    </div>
  </div>
  <p>Text can go under here yabba dabba doo.</p>
</div>
// Non relevant styles
* {
  box-sizing: border-box;
}

p {
  font-size: 20px;
  font-family: sans-serif;
  color: #6439a9;
}

.container {
  padding: 100px 30px;
  width: 100%;
  margin: 0 auto;
  max-width: 900px;
}

// Relevant styles

img {
  width: 100%;
  display: block;
}

.image-stack::after {
    content: ' ';
    display: table;
    clear: both;
  }

  .image-stack__item--top {
      float: left;
      width: 66%;
      margin-right: -100%;
      position: relative;
      z-index: 1; // tells the browser to make this image on top
  }

  .image-stack__item--bottom {
      float: right;
      width: 75%;
  }

@supports (display: grid) {
  .image-stack {
    display: grid;
    position: relative; // imperative for the overlapping to work
    grid-template-columns: repeat(12, 1fr);
  }

  .image-stack__item--bottom {
    grid-column: 4 / -1;
    grid-row: 1;
    width: 100%;
  }

  .image-stack__item--top {
    grid-row: 1;
    grid-column: 1 / span 8;
    padding-top: 20%; // slightly arbitrary, keeps proportion once resized
    width: 100%;
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.