JSFiddle - React, Tailwind, and code Playground

by HDL52

HTML

<div class="parent">
  <div class="child">
    <img
      src="https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/imgied0v0dgsgyqeoh7804b0ca54buj0qd.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/imge39twvhffwemdsipqncbwko5vayrxgd.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/imgodr8vukcwco0h34p0ngc84462vs454j.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/imgj1udos782ybmzugwd1ltkozc9zxj3gz.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/img1u6qw3ad64bz8nsedrd2wddgrax5wew.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/imgl7nga0eot9mfzdog0r7hja2avzx8jzf.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://cdn.jsdelivr.net/gh/Hongda-OSU/PicGo/image/oojeu86ioebk0vnvnicn0q59u030jfv.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://cdn.jsdelivr.net/gh/Hongda-OSU/PicGo/image/8shhfm8bsq648izivnrc32jq9e0d62e.jpg"
      alt=""
    />
  </div>
  <div class="child">
    <img
      src="https://raw.githubusercontent.com/Hongda-OSU/PicGo-2.3.1/master/img4gb8ou3p2t5vv347i6lopc13wtm82qw.jpg"
      alt=""
    />
  </div>
</div>

SCSS

*{
  box-sizing: border-box;
}

body{
  padding:0; 
  margin: 0;
  background: #23232a;
}

img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 20%;
  transition: .25s;
  cursor: pointer;
  
  &:hover {
    transform: scale(120%);
  }
}

.parent{
  padding: .8rem;
  background: black;
  height: 95vh;
  min-height: 500px;
  width: 100%;
  max-width: 600px;
  margin: auto;
  margin-top: 2.5vh;
  overflow: hidden;
  display: grid;

  grid-template-columns: 1fr .7fr .3fr 1fr;
  grid-template-rows: 20% 40% 20% 20%;
  grid-template-areas: 
    'one two two three'
    'four five five five'
    'six five five five'
    'six seven eight eight';
}

.child{
  &:nth-child(1),
  &:nth-child(2),
  &:nth-child(3){
    img{
      width:120%;
      height: 120%;
    }
  }
  &:first-child{
    grid-area: one;
    clip-path: polygon(0% 0%, 93.24% 0%, 105.04% 110.16%, 0% 90%);
  }
  &:nth-child(2){
    grid-area: two;
    clip-path: polygon(0% 0%, 108.28% 0%, 96.45% 110.13%, 10.55% 110.93%);
  }
  &:nth-child(3){
    grid-area: three;
    clip-path:polygon(15.05% 0%, 100% 0%, 99.35% 91.7%, 3.08% 108.48%);
  }
  &:nth-child(4){
    grid-area: four;
    clip-path: polygon(0% -0.85%, 106.34% 9.98%, 121.32% 65.63%, 99.66% 109.89%, 1.86% 124.41%);

    img {
      width: 135%;
      height: 135%;
    }
  }
  &:nth-child(5){
    grid-area: five;
    clip-path: polygon(6.4% 6.48%, 47.24% 5.89%, 100% 0%, 98.41% 96.85%, 53.37% 100%, 53% 63.21%, 3.23% 73.02%, 14.30% 44.04%);
  }
  &:nth-child(6){
    grid-area: six;
    clip-path:  polygon(2.14% 29.3%, 99.34% 15.42%, 98.14% 100.82%, 1.57% 101.2%);
  }
  &:nth-child(7){
    grid-area: seven;
    clip-path: polygon(7.92% 33.47%, 96.31% 23.39%, 95.38% 100%, 5.30% 100.85%);
  }
  &:nth-child(8){
    grid-area: eight;
    clip-path: polygon(2.5% 22.35%, 100% 0%, 100% 100%, 1.55% 100%);
  }
  &:nth-child(9){
    grid-row-start: 3;
    grid-row-end: 4;
    grid-column-start: 2;
    grid-column-end: 4; 

   ...