Ajouter de défilement pour chaque colonne dans la Grille CSS de Mise en page

Je veux séparer de défilement sur chacune de mes colonnes dans ma grille de mise en page.

Actuellement, je suis en train d'élaborer un mobile uniquement de l'application web. Je veux utiliser une autre grille de mise en page pour les orientations portrait et paysage.

L'orientation portrait est à seulement 1 colonne et chaque élément est après les autres. Pas de problème ici.

Dans le paysage de l'orientation que je veux utiliser 2 colonnes. Tout mon contenu est affiché sur le côté gauche et ma navigation se déplace vers le côté droit. Maintenant, je veux les deux parties d'avoir un défilement. Est-il un moyen pour mettre en œuvre cette? Et le défilement doit s'arrêter si le contenu de la colonne en cours se termine.

Code sur CodePen: https://codepen.io/SuddenlyRust/pen/rmJOqV

CSS:

.grid-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-gap: 15px 0;
}

header {
  background-color: green;
  grid-column: 1;
  grid-row: 1
}

main {
  background-color: blue;
  grid-column: 1;
  grid-row: 2;
}

nav {
  background-color: pink;
  grid-column: 1;
  grid-row: 3;
}

footer {
  background-color: teal;
  grid-column: 1;
  grid-row: 4;
}

@media only screen and (orientation: landscape) {
  .grid-container {
    grid-template-columns: 5fr 4fr;
  }
  nav {
    grid-column: 2;
    grid-row: 1 / span 3;
  }
  footer {
    grid-row: 3;
  }
}

h1 {
  min-height: 200px;
}

HTML:

<div class="grid-container">
  <header>
    <h1>Logo</h1>
  </header>
  <main>
    <h1>content</h1>
  </main>
  <nav>
    <h1>Navigation</h1>
  </nav>
  <footer>
    <h1>Footer</h1>
  </footer>
</div>

Je vous remercie beaucoup pour votre temps!

InformationsquelleAutor SuddenlyRust | 2017-05-09