Здравствуйте, друзья! Сегодня я хочу показать вам пример создания галереи изображений на чистом CSS, без использования каких-либо скриптов. 
 Реализована галерея таким образом, что при загрузке страницы мы видим галерею с изображениями размером 300х400, которые используются для предпросмотра. После клика на изображение — открывается его увеличенная копия размером 800х600. Из этого вытекает, что для создания галереи нам нужно по два изображения на один элемент галереи. 
 Данный пример достаточно интересный, и я надеюсь, что вам он тоже понравится.  
HTML  Код
<input type="checkbox" id="pic-1"/> 
 <label for="pic-1" class="lightbox"><img src="//unsplash.it/800/600?image=1"/></label> 
 <input type="checkbox" id="pic-2"/> 
 <label for="pic-2" class="lightbox"><img src="//unsplash.it/800/600?image=20"/></label> 
 <input type="checkbox" id="pic-3"/> 
 <label for="pic-3" class="lightbox"><img src="//unsplash.it/800/600?image=224"/></label> 
 <input type="checkbox" id="pic-4"/> 
 <label for="pic-4" class="lightbox"><img src="//unsplash.it/800/600?image=42"/></label> 
 <input type="checkbox" id="pic-5"/> 
 <label for="pic-5" class="lightbox"><img src="//unsplash.it/800/600?image=48"/></label> 
 <input type="checkbox" id="pic-6"/> 
 <label for="pic-6" class="lightbox"><img src="//unsplash.it/800/600?image=60"/></label> 
 <input type="checkbox" id="pic-7"/> 
 <label for="pic-7" class="lightbox"><img src="//unsplash.it/800/600?image=201"/></label> 
 <input type="checkbox" id="pic-8"/> 
 <label for="pic-8" class="lightbox"><img src="//unsplash.it/800/600?image=7"/></label> 
 <input type="checkbox" id="pic-9"/> 
 <label for="pic-9" class="lightbox"><img src="//unsplash.it/800/600?image=119"/></label> 
 <input type="checkbox" id="pic-10"/> 
 <label for="pic-10" class="lightbox"><img src="//unsplash.it/800/600?image=180"/></label> 
 <input type="checkbox" id="pic-11"/> 
 <label for="pic-11" class="lightbox"><img src="//unsplash.it/800/600?image=96"/></label> 
 <input type="checkbox" id="pic-12"/> 
 <label for="pic-12" class="lightbox"><img src="//unsplash.it/800/600?image=24"/></label> 
   
 <div class="grid"> 
  <label for="pic-1" class="grid-item"><img src="//unsplash.it/400/300?image=1"/></label> 
  <label for="pic-2" class="grid-item"><img src="//unsplash.it/400/300?image=20"/></label> 
  <label for="pic-3" class="grid-item"><img src="//unsplash.it/400/300?image=224"/></label> 
  <label for="pic-4" class="grid-item"><img src="//unsplash.it/400/300?image=42"/></label> 
  <label for="pic-5" class="grid-item"><img src="//unsplash.it/400/300?image=48"/></label> 
  <label for="pic-6" class="grid-item"><img src="//unsplash.it/400/300?image=60"/></label> 
  <label for="pic-7" class="grid-item"><img src="//unsplash.it/400/300?image=201"/></label> 
  <label for="pic-8" class="grid-item"><img src="//unsplash.it/400/300?image=7"/></label> 
  <label for="pic-9" class="grid-item"><img src="//unsplash.it/400/300?image=119"/></label> 
  <label for="pic-10" class="grid-item"><img src="//unsplash.it/400/300?image=180"/></label> 
  <label for="pic-11" class="grid-item"><img src="//unsplash.it/400/300?image=96"/></label> 
  <label for="pic-12" class="grid-item"><img src="//unsplash.it/400/300?image=24"/></label> 
 </div>
   CSS  Код
* { 
  box-sizing: border-box; 
 } 
   
 label[for] { 
  cursor: pointer; 
 } 
   
 input[type="checkbox"] { 
  display: none; 
 } 
   
 body { 
  background-color: #000; 
 } 
   
 .lightbox, .grid { 
  width: 100%; 
  position: fixed; 
  top: 0; 
  left: 0; 
 } 
   
 .lightbox { 
  z-index: 1; 
  min-height: 100%; 
  overflow: auto; 
  -webkit-transform: scale(0); 
  -ms-transform: scale(0); 
  transform: scale(0); 
  -webkit-transition: -webkit-transform .5s ease-out; 
  transition: transform .5s ease-out; 
 } 
 .lightbox img { 
  position: fixed; 
  top: 50%; 
  left: 50%; 
  max-width: 96%; 
  max-height: 96%; 
  -webkit-transform: translate(-50%, -50%); 
  -ms-transform: translate(-50%, -50%); 
  transform: translate(-50%, -50%); 
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); 
 } 
   
 input[type="checkbox"]:checked + .lightbox { 
  -webkit-transform: scale(1); 
  -ms-transform: scale(1); 
  transform: scale(1); 
 } 
   
 input[type="checkbox"]:checked ~ .grid { 
  opacity: .125; 
 } 
   
 .grid { 
  display: -webkit-box; 
  display: -webkit-flex; 
  display: -ms-flexbox; 
  display: flex; 
  -webkit-flex-wrap: wrap; 
  -ms-flex-wrap: wrap; 
  flex-wrap: wrap; 
  -webkit-box-align: start; 
  -webkit-align-items: flex-start; 
  -ms-flex-align: start; 
  align-items: flex-start; 
  -webkit-align-content: flex-start; 
  -ms-flex-line-pack: start; 
  align-content: flex-start; 
  z-index: 0; 
  height: 100%; 
  padding: 16px; 
  overflow: auto; 
  background-color: #222; 
  text-align: center; 
  -webkit-transition: opacity .75s; 
  transition: opacity .75s; 
 } 
 .grid .grid-item { 
  display: inline-block; 
  width: 25%; 
  padding: 16px; 
  opacity: .75; 
  -webkit-transition: opacity .5s; 
  transition: opacity .5s; 
 } 
 .grid .grid-item:hover { 
  opacity: 1; 
 } 
 @media screen and (max-width: 1024px) { 
  .grid .grid-item { 
  width: 50%; 
  } 
 } 
 @media screen and (max-width: 480px) { 
  .grid .grid-item { 
  width: 100%; 
  } 
 } 
 .grid img { 
  max-width: 100%; 
  max-height: 100%; 
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); 
 }
   Если у вас возникли вопросы — задавайте их в комментариях.