MrMurphy1: Flexbox

Beitrag lesen

Hallo,

ich habe mal ein Beispiel ohne Inhalt erstellt.

Das grundsätzliche HTML könnte folgendermaßen ausssehen:

<body>
   <header>
      <h2>header</h2>
   </header>
   <nav>
      <a href="#">00</a>
      <a href="#">01</a>
      <a href="#">02</a>
      <a href="#">03</a>
      <a href="#">04</a>
      <a href="#">05</a>
      <a href="#">06</a>
      <a href="#">07</a>
      <a href="#">08</a>
      <a href="#">09</a>
   </nav>
</body>

Das CSS für das Grundlayout folgendermaßen:

html {
   height: 100%;
}
body {
   height: 100%;
   margin: 0;
}
header {
   background-color: aquamarine;
   height: 100%;
   width: 35%;
   position: fixed;

}
header h2 {
   margin-top: 0;
}
nav {
   width: 65%;
   height: 100%;
   margin-left: 35%;
   display: flex;
   flex-wrap: wrap;
}

und für das Responsive Design mit Media Queries zusätzlich:

@media only screen and (max-width: 1300px) {
   a {
      width: 100%;
   }
}
@media only screen and (max-width: 800px) {
   header {
      width: 100%;
      position: relative;
   }
   nav {
      width: 100%;
      margin-left: 0;
   }
}

Dazu dann noch etwas Hintergrundfarbe und ein paar zu empfehlende Grunddaten ergibt folgende komplette Seite:

<!DOCTYPE html>
<html lang="de">
<head>
   <meta charset="utf-8">
   <title>Layout 01</title>
   <meta name="description" content="HTML5, CSS3">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <style>
   /*Grundeinstellungen*/
   @media all {
      /* Neue HTML5-Elemente für ältere Browser als Block-Elemente übergeben */
      header, nav, main, aside, footer, section, article, figure, figcaption, audio, video {
         display: block;
      }
      * {
         box-sizing: border-box;
      }
      html {
         font-size: 120%;
      }
      body {
         padding: 0;
      }
   }
   /*Spezielle Einstellungen*/
   @media all {
      html {
         height: 100%;
      }
      body {
         height: 100%;
         margin: 0;
      }
      header {
         background-color: aquamarine;
         height: 100%;
         width: 35%;
         position: fixed;

      }
      header h2 {
         margin-top: 0;
      }
      nav {
         width: 65%;
         height: 100%;
         margin-left: 35%;
         display: flex;
         flex-wrap: wrap;
      }
      a {
         color: black;
         width: 50%;
         height: 90%;
         display: block;
         text-decoration: none;
      }
      a:nth-child(1) {
         background-color: red;
      }
      a:nth-child(2) {
         background-color: yellow;
      }
      a:nth-child(3) {
         background-color: blue;
      }
      a:nth-child(4) {
         background-color: orange;
      }
      a:nth-child(5) {
         background-color: green;
      }
      a:nth-child(6) {
         background-color: purple;
      }
      a:nth-child(7) {
         background-color: silver;
      }
      a:nth-child(8) {
         background-color: white;
      }
      a:nth-child(9) {
         background-color: fuchsia;
      }
      a:nth-child(10) {
         background-color: teal;
      }
   }
   @media only screen and (max-width: 1300px) {
      a {
         width: 100%;
      }
   }
   @media only screen and (max-width: 800px) {
      header {
         width: 100%;
         position: relative;
         margin-top: 0;
      }
      nav {
         width: 100%;
         margin-left: 0;
      }
   }
   </style>
</head>
<body>
   <header>
      <h2>header</h2>
   </header>
   <nav>
      <a href="#">00</a>
      <a href="#">01</a>
      <a href="#">02</a>
      <a href="#">03</a>
      <a href="#">04</a>
      <a href="#">05</a>
      <a href="#">06</a>
      <a href="#">07</a>
      <a href="#">08</a>
      <a href="#">09</a>
   </nav>
</body>
</html>

Gruss

MrMurphy