Beispiel:CSS-grid-layout-4-benannte-Linien-2.html
Aus SELFHTML-Wiki
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Grid mit benannten Linien-2</title>
<style>
:root {
--accent1: #70369b;
--accentmedium1: #7f4ba5;
--accentlighter1: #df84de;
--accent2: #ea740b;
--accentlighter2: orange;
--accent3: lime;
--backgroundColor: linen;
--textColor: #333;
--navColor: #fff;
--navWidth: 12em;
--mainWidth: min(48em, calc(100% - var(--navWidth)));
--headerLineHeight: 3em;
}
body {
width: 100%;
min-height: 100vh;
margin: 0;
padding: 0;
background: var(--backgroundColor);
font-size: 1em;
font-family: Avenir, Arial, sans-serif;
}
header {
grid-area: head;
padding: 2em;
}
nav {
grid-area: nav;
background: linear-gradient(90deg, var(--accentlighter1), var(--accentmedium1)) ;
color: var(--navColor);
padding: 1em;
}
@media (min-width: 30em) {
body {
display: grid;
grid-template: ". nav head ." min-content
". nav rule ." var(--headerLineHeight)
". nav main ." auto
". nav foot ." min-content /
1fr var(--navWidth) var(--mainWidth) 1fr;
}
body::before {
content: '';
grid-row: rule;
grid-column: 1 / 1;
background: linear-gradient(to right, var(--accent1), var(--accentlighter1));
}
body::after {
content: '';
grid-row: rule;
grid-column: rule-start / -1;
background-image: linear-gradient(to right, var(--accentmedium1), var(--accent1));
}
}
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;
}
@media (min-width: 30em) {
nav {
padding-top: 10em;
}
}
nav ul {
list-style: none;
margin: 0.5em;
padding: 0;
}
nav li a {
display: inline-block;
text-decoration:none;
color: inherit;
font-size: 1.5em; /* mobil größer */
font-weight: bold;
padding: 0.2em 1em;
}
@media (min-width: 30em) {
nav li a {
font-size: 1rem; /* jetzt wieder auf Standardschriftgröße */
}
}
nav li a:hover,
nav li a:focus{
color:gold;
background: var(--accent1) /* mediumvioletred */;
}
main {
grid-area: main;
background: linen;
border-color: #df6c20;
}
footer {
grid-area: foot;
background: #e4ebf2;
border-color: #8a9da8;
}
</style>
</head>
<body>
<header>
<img src="/images/a/ad/Selfhtml-beispiel_150.svg" alt="logo">
<h1>CSS - vom Entwurf zum Layout</h1>
</header>
<nav>
<h2>Navigation</h2>
<ul>
<li><a href="#link_1.html">Startseite</a></li>
<li><a href="#link_2.html">Unterseite 1</a></li>
<li><a href="#link_3.html">Unterseite 2</a></li>
<li><a href="#link_4.html">Kontakt</a></li>
</ul>
</nav>
<main>
<h2>Inhalt</h2>
<p>Der Seiteninhalt besteht aus Header, Navigation dem Inhaltsbereich (<code>main</code>) und dem Footer.</p>
<p>Diese werden …<br>auf schmalen Bildschirmen <b>unter-</b>, <br>auf größeren Bildschirmen <b>nebeneinander</b> dargestellt.</p>
<p>Dieses Grid Layout wird mit wenigen Zeilen CSS erreicht.</p>
</main>
<footer>
<h2>Footer</h2>
<a href="#kontakt.html">Kontakt</a>
<p>© 2022 SELFHTML</p>
</footer>
</body>
</html>