Table of Contents

Mehrere Seiten mit Navigation

Vorbereitung

Grundstuktur für index.html

    <nav>
        <ul>
            <li> <a href="index.html">Startseite</a> </li>
            <li> <a href="kontakt.html">Kontakt</a> </li>
        </ul>
    </nav>
   <main>
        <h1>Willkommen</h1>
        Willkommen
    </main>
 <footer>
        Super coole Fusszeile
    </footer>

kontakt.html

Effizienter Arbeiten mit Live-Server

Gerade wenn man kleinere Änderungen vornimmt, ist das Hochladen auf den Server und Neuladen der Seite im Browser etwas umständlich. Wir werden deswegen die “Live-Server”-Extension verwenden, damit Sie lokal auf Ihrem Computer einen Webserver betreiben können. Zusätzlich fügt diese Erweiterung Ihrer Seite ein Programm hinzu, das die Seite automatisch neu lädt, sobald sich eine Datei ändert.

Mit style

   <link rel="stylesheet" href="style.css">
nav ul {
    list-style-type: none;   /* Keine Bullets */
    margin: 0;               /* Keinen äusseren Abstand */
    padding: 0;              /* Keinen inneren Abstand */
    overflow: hidden;        /* ?? Ohne das gibt es keinen Zeilenumbruch */ 
}
nav li {
   float: left;         /* Elemente nebeneinander */ 
}
nav a {
    text-decoration: none;      /* Links nicht mehr unterstreichen */
    padding: 1em 2em;           /* Oben/Unten 1x Schriftgrösse Platz, Links/Rechts 2x Schriftgrösse Platz */
    display: block;             /* Damit die Ränder auch ihren Platz bekommen */
}
   background-color: black;   
    background-color: #604000;   /* Dunkles Orange */
    color: white;                /* Weisse Schrift */
nav a:hover {
    background-color: orange;
    color:black;
}
.aktiv {
    font-weight: bold;             /* Fette Schrift */
    background-color: #008000;   /* Dunkelgrün */
}
<li> <a class="aktiv" href="index.html">Startseite</a> </li>

Wer später noch mehr an der Navigation “basteln” möchte, sei auf diese Seite und deren Unterseiten verwiesen: https://www.w3schools.com/css/css_navbar.asp

footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #F1F1F1;
    text-align: center;
    padding: 10px;
}

body

Um Formatierungen für die ganze Seite festzulegen, kann das <body>-Element “gestylet” werden (am besten am Anfang der Datei style.css einfügen):

body {
    padding:0;
    margin:0;
    font-family: sans-serif;
    background-color: #fff9e0;
}

Es ist mühsam, das Navigationsmenü auf allen Seiten nachzuführen. Praktischer ist es, das an einem Ort zu haben. Dazu werden wir das Menü mit einem kleinen Programmcode generieren:

  <script src="navmenu.js"></script>
function myNavMenu(aktuelleSeite) {
    let myMenu = {
        "Startseite":"index.html",
        "Kontakt":"kontakt.html",
    };
    let nav = document.getElementsByTagName("nav").item(0);
    let html = "<ul>\n";
    for (let titel in myMenu) {
        let klasse = "";
        if (titel==aktuelleSeite) {
            klasse = 'class="aktiv"';
        }
        html += `  <li><a ${klasse} href="${myMenu[titel]}">${titel}</a></li>\n`;
    }
    html += "</ul>\n"
    nav.innerHTML = html;
}
<body onload="myNavMenu('Startseite')">
window.addEventListener('load', ()=>{
    let footer = document.getElementsByTagName("footer").item(0);
    footer.innerHTML = 'Dieser HTML-Code wurde automatisch in den Footer eingefügt. Und ein Link auf <a href="https://fginfo.ksbg.ch/">fginfo</a>.';
});

Weitere Ideen

Wie bestimme Dinge in HTML und oder CSS gemacht werden, finden Sie Hilfe auf dem Internet oder auch Sprachmodelle sind erstaunlich versiert darin. Empfehlenswerte Seiten: