Jak tworzyć: responsywna siatka obrazów

Naucz się, jak tworzyć responsywną siatkę obrazów.

Responsywna siatka obrazów

Naucz się, jak tworzyć galerię obrazów, która może przełączać się między czterema, dwoma lub pełnoekranowymi obrazami w zależności od rozmiaru ekranu:

Spróbuj sam

Tworzenie siatki obrazów

Krok pierwszy - dodaj HTML:

<div class="row">
  <div class="column">
    <img src="wedding.jpg">
    <img src="rocks.jpg">
    <img src="falls2.jpg">
    <img src="paris.jpg">
    <img src="nature.jpg">
    <img src="mist.jpg">
    <img src="paris.jpg">
  </div>
  <div class="column">
    <img src="underwater.jpg">
    <img src="ocean.jpg">
    <img src="wedding.jpg">
    <img src="mountainskies.jpg">
    <img src="rocks.jpg">
    <img src="underwater.jpg">
  </div>
  <div class="column">
    <img src="wedding.jpg">
    <img src="rocks.jpg">
    <img src="falls2.jpg">
    <img src="paris.jpg">
    <img src="nature.jpg">
    <img src="mist.jpg">
    <img src="paris.jpg">
  </div>
  <div class="column">
    <img src="underwater.jpg">
    <img src="ocean.jpg">
    <img src="wedding.jpg">
    <img src="mountainskies.jpg">
    <img src="rocks.jpg">
    <img src="underwater.jpg">
  </div>
</div>

Krok drugi - dodaj CSS:

Tworzenie responsywnego układu za pomocą CSS Flexbox:

.row {
  display: flex;
  flex-wrap: wrap;
  padding: 0 4px;
}
/* Tworzenie czterech równoległych, równych kolumn */
.column {
  flex: 25%;
  max-width: 25%;
  padding: 0 4px;
}
.column img {
  margin-top: 8px;
  vertical-align: middle;
  width: 100%;
}
/* Odpowiednia layout - tworzenie układu dwóch kolumn zamiast czterech */
@media screen and (max-width: 800px) {
  .column {
    flex: 50%;
    max-width: 50%;
  }
}
/* Odpowiednia layout - zagnieżdżenie dwóch kolumn zamiast ich równoległego ustawienia */
@media screen and (max-width: 600px) {
  .column {
    flex: 100%;
    max-width: 100%;
  }
}

Spróbuj sam

Strony związane

Tutorial:CSS Flexbox

Tutorial:Jak stworzyć siatkę obrazów