Beispiel:CSS-grid-layout-4-benannte-Linien-2a.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">
<link href="https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap" rel="stylesheet">
<title>CSS - vom Entwurf zum Layout -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);
color: var(--textColor);
font-size: 1em;
font-family: Avenir, Arial, sans-serif;
}
h1,h2,h3 {
color: var(--accent1);
font-family: 'Gloria Hallelujah', cursive;
text-align:center;
}
h1,h2{
font-size: 3rem;
}
header {
grid-area: head;
padding: 2em;
}
nav {
grid-area: nav;
background: linear-gradient(90deg, var(--accentlighter1), var(--accentmedium1)) ;
color: var(--navColor);
padding: 1em;
}
nav h3 {
color: white;
}
@media (min-width: 30em) {
body {
display: grid;
grid-template: ". nav head ." min-content
". nav rule ." var(--headerLineHeight)
". nav main ." 1fr
". nav foot ." 10em /
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: 0 0.5em 0.5em;
border: thin solid;
padding: 10px;
}
header {
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;
border-color: #df6c20;
}
footer {
grid-area: foot;
border-color: #8a9da8;
}
@media (prefers-color-scheme: dark) {
/* dunkles Farbschema für die Nacht */
body, main, footer {
--textColor: white;
--backgroundColor: black;
}
a {
color: skyblue;
}
h1,h2,h3 {
color: var(--accentlighter1);
}
}
</style>
</head>
<body>
<header>
<img src="/images/a/ad/Selfhtml-beispiel_150.svg" alt="logo">
<h1>Vom Entwurf zum Layout</h1>
</header>
<nav>
<h3>Navigation</h3>
<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>Header und Footer erhalten nun eine feste Höhe (in <code>em</code>), damit sie nicht überproportional groß scheint, wenn eine (Unter)-Seite wenig Inhalt hat.</p>
<p>Wenn ein Nutzer im Betriebssystem oder Browser einstellt, dass er einen <em>Dark Mode</em> bevorzugt, erhält die Seite einen dunklen Hintergrund.</p>
<p>Überschriften werden in einer anderen Schriftart dargestellt!<br>Vergleichen Sie die Schriftgröße der <code>h1</code> und <code>h2</code> mit der <code>h3</code> des Footers.</p>
</main>
<footer>
<h3>Footer</h3>
<a href="#kontakt.html">Kontakt</a>
<p>© 2022 SELFHTML</p>
</footer>
</body>
</html>