Beispiel:CSS-grid-layout-4-benannte-Linien.html

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
<!DOCTYPE html>
<html lang="de">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Holy Grid Layout</title>  
<style>
body {
    display: grid;
		gap: 0.5em;
}

@media (min-width: 45em) { 
	body{
	  display: grid;
	  grid-template-columns: 1fr [nav-start] fit-content(12em) [main-start] minmax(20em, 1fr)  [main-end] fit-content(15em)  [aside-end] 1fr;
	  grid-template-rows: [head-start] min-content 
	                      [main-start] 1fr 
	                      [main-end]   min-content 
	                      [foot-end];
	}
	header, footer {
	  grid-column: nav-start / aside-end;
	}
	nav {
	  grid-column: nav-start / main-start;
	}	
	main {
	  grid-column: main-start / main-end;
	  grid-row:    main-start / main-end;
	}
}

header, nav, main, article, section, aside, footer {
   border-radius: 0px 0.5em 0.5em;
   border: thin solid;
   padding: 10px;
}

header {
	background: #F1F3F4;
	border-color: #d5d5d5;
	display:grid;
	grid-template-columns: min-content 1fr;		
}

nav {
	background: #fffbf0;
	border-color: #e7c157;
}

main {
	background: #ffede0;
	border-color: #df6c20;
}

aside {
	background: #ebf5d7;
	border-color: #8db243;
}

footer {
	background: #e4ebf2;
	border-color: #8a9da8;
}

footer * {
  float: right;
	clear: right;
  margin: 0 0 1em;
}

body {
    font-family: sans-serif;
}

</style>
</head>

<body>
	<header>
		<img src="/images/a/ad/Selfhtml-beispiel_150.svg" alt="logo">
		<h1>Holy-Grail-Layout mit Grid</h1>
	</header>

	<nav>
    	<h2>Navigation</h2>
		<ul>
			<li><a href="#">Startseite</a></li>
			<li><a href="#">Unterseite 1</a></li>
			<li><a href="#">Unterseite 2</a></li>    
			<li><a href="#">Kontakt</a></li>
		</ul>
	</nav>

	<main>
		<h2>CSS-basierte Grid Layouts</h2>
		<p>Grid Layout ist wie Flexbox eine sehr moderne und einfache Möglichkeit, responsive und flexible Layouts zu erstellen, ohne feste Größenangaben und weitere CSS-Einstellungen wie position, float oder clear nutzen zu müssen.
		</p>
		<p>Dabei können Elemente beliebig innerhalb eines Rasters platziert werden, wenn gewünscht, auch übereinander.
		</p>
		<p>Grid Layout wird in allen modernen Browsern unterstützt.</p>
	</main>

	<aside id="news">
		<h2>Top-News</h2>
		<p>Gestern gab's Freibier!</p>
	</aside>

	<footer>
		<a href="#kontakt.html">Kontakt</a>
		<p>© 2021 SELFHTML</p>
	</footer>

</body>
</html>