JSFiddle - React, Tailwind, and code Playground

by Ankhena

HTML

<a href="#img1"><img src="https://million-wallpapers.ru/wallpapers/3/49/small/17695214594850756968.jpg" alt=""></a>

<div id="img1" class="popup">
  <a href="#" class="close">X</a>
  <img class="full-img" src="https://million-wallpapers.ru/wallpapers/3/49/small/17695214594850756968.jpg" alt="">
</div>

<a href="#img2"><img src="https://million-wallpapers.com/wallpapers/0/84/small/429947088976726.jpg" alt=""></a>

<div id="img2" class="popup">
  <a href="#" class="close">X</a>
  <img class="full-img" src="https://million-wallpapers.com/wallpapers/0/84/small/429947088976726.jpg" alt="">
</div>

CSS

* {
  box-sizing: border-box
}

html,
body {
  height: 100%;
  padding: 0;
  margin: 0;
}

.popup:not(:target) {
  display: none;
}

.popup:target {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0,0,0,0.9);
}
.full-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 30px;
  text-decoration: none;
  color: red;
}