Layout für eine Apfel-Webseite


Aufgabenstellung
Im folgenden wird ein Webauftritt über Äpfel entworfen und schrittweise umgesetzt.
Um dem Leser eine mobile und eine Desktopsicht der Seite zur Verfügung zu stellen, werden Media-Queries benutzt.
Schritt 1: Layout-Skizzen

Die folgenden Screenshots zeigen die Seitenlayouts im fertigen Zustand. Im Folgenden wird der Weg beschrieben, mit dem ein solches Ziellayout erreicht werden kann.

Mobile Version der fertigen Homepage
Mobile Version der fertigen Homepage.
Desktop-Version der fertigen Homepage
Desktop-Version der fertigen Homepage.

Versuchen Sie zunächst selber, analog zu den Beispielen aus der Vorlesung Layoutskizzen für die beiden Ansichten zu erstellen. Zeigen Sie Ihre Skizzen Ihrem Tutor und besprechen Sie mit ihm die Unterschiede zwischen Ihrer Lösung und der unten vorgestellten Musterlösung.

Layout-Skizzen - Musterlösung
Nach dem "Mobile First"-Prinzip werden für beide Ansichten zunächst Layout-Skizzen erstellt. Dabei fängt man mit der mobilen Sicht an. Das Ziel der Layoutskizzen besteht darin, Seiten in "Zeilen" (horizontale Bereiche) zu unterteilen. Für jede solche Zeile sollte in HTML eine entsprechende Box (z.B. ein <div>-Element) hinterlegt werden. Diese Boxen stehen im Browserfenster dann automatisch untereinander (Standardverhalten des Browsers).
Skizze für die mobile Version
Skizze für die mobile Version.
Übersetzung der Skizze für die mobile Version in HTML-Elemente
Übersetzung der Skizze für die mobile Version in HTML-Elemente
In der linken Abbildung ist eine Skizze der mobilen Version dargestellt, welche die wichtigsten horizontalen Bereiche der künftigen mobilen Seite definiert. In der rechten Abbildung werden diesen Bereichen konkrete HTML-Elemente zugewiesen.
Skizze für die Desktop-Version
Skizze für die Desktop-Version.
Übersetzung der Skizze für die Desktop-Version in HTML-Elemente
Übersetzung der Skizze für die Desktop-Version in HTML-Elemente
In der linken Abbildung ist eine Skizze der Desktop-Version dargestellt, welche die wichtigsten horizontalen Bereiche der künftigen Desktop-Ansicht enthalten. In der rechten Abbildung werden diesen Bereichen konkrete HTML-Elemente zugewiesen. Die orangenen Bereiche kommen in der mobilen Version nicht vor. Nichtsdestotrotz müssen sie in der zugehörigen HTML-Seite von Anfang an definiert sein: in der mobilen Sicht werden sie entweder gar nicht berücksichtigt ("Standardverhalten") oder ausgeblendet (display: none).
Schritt 2: Erstellung der HTML-Seite

Nach der Erstellung der Layout-Skizzen können die benötigten Boxen in die entsprechende HTML-Struktur übertragen werden. Wichtig ist dabei, dass alle in den Skizzen definierten Bereiche in die HTML-Seite übernommen werden. Dabei wird in der Leserichtung von links nach rechts und von oben nach unten vorgegangen.

Die HTML-Seite für die obigen Skizzen muss daher folgende Inhalte haben:

<body>
    <header>
        <h1>...</h1>
        <nav>
            <div>...</div>
            <div>...</div>
            <div>...</div>
        </nav>
    </header>

    <div class="container">
        <aside class="aside_links">
            ...
        </aside>

        <main>
            ...
        </main>

        <aside class="aside_rechts">
		    <div>
		    ...
		    </div>
		    <div>
		    ...
		    </div>
		    <div>
		    ...
		    </div>
        </aside>
    </div>

    <footer>
        ...
    </footer>
</body>

Steht einmal die Layout-Struktur, können die Boxen zudem um ihre Inhalte ergänzt werden. Die Inhalte einer Seite werden meistens in Elemente wie p, ul/ol, a oder img eingebettet:

Übernehmen Sie die HTML-Struktur aus dem unteren Beispiel in IHre eigene Lösung und ersetzen Sie die mit "..." markierten Stellen mit sinnvollen Inhalten.

<body>
    <header>
        <h1>...</h1>
        <nav>
            <div><a href="#"> ... </a></div>
            <div><a href="#"> ... </a></div>
            <div><a href="#"> ... </a></div>
        </nav>
    </header>

    <div class="container">
        <aside class="aside_links">
			<ul>
				<li> ... </li>
				<li> ... </li>
				<li> ... </li>
			</ul>
        </aside>

        <main>
			<p> ... </p>
        </main>

        <aside class="aside_rechts">
			<div>
				<img> </img>
			</div>
			<div>
				<img> </img>
			</div>
			<div>
				<img> </img>
			</div>
        </aside>
    </div>

    <footer>
		<p> ... </p>
    </footer>
</body>
Schritt 3: Einfärben des Hintergrunds

Färben Sie den Hintergrund der HTML5-Elemente Ihrer Seite nach folgenden Angaben ein. Überprüfen Sie, ob Ihre Hintergrundfarben wie in der Abbildung aussehen:

header {
	background-color: #516C7F;
}
								
aside {
	background-color: #a2d8ff;
}

main {
	background-color: #def;
}
								
footer {
	background-color: #516C7F;
}
								
nav div {
	background-color: #A2D8FF;
}
Kontrolle der eigenen Lösung
Überprüfen Sie hier Ihre Lösung. Sie sind mit dieser Teilaufgabe erst fertig, wenn die Tests keine Fehler zeigen.
Schritt 4: Erstellung der mobilen Version
Boxen für die mobile Version
Boxen für die mobile Version.

Die Erstellung der mobilen Version folgt nun der folgenden Vorgaben: Die nicht benötigten Elemente werden dabei ignoriert (<nav>, <div class="container">) bzw. ausgeblendet (<aside class="aside_rechts">).

Da alle Block-Boxen im Browser standardmäßig untereinander angeordnet werden, ist es für die mobile Version ausreichend, lediglich die Boxengrößen und -ränder zu definieren. Die Position der Boxen muss nicht geändert werden.

Setzen Sie die folgenden Änderungen in Ihrem CSS-File um, um das mobile Layout zu erhalten. Das mobile Aussehen ist das Standard-Aussehen, daher wird es ohne Media-Queries definiert.

  1. Definieren Sie für die Elemente aside, footer, h1 und main einen kleinen Innenrand oben und links.
  2. Definieren Sie im Kopfbereich oben und unten einen kleinen Innenrand. Zudem sollte der Innenrand links und rechts ebenfalls klein, aber abhängig von der Festerbreite sein (z.B. 1%).
  3. Sorgen Sie dafür, dass die unsortierte Liste im linken Seitenbereich keine Außenabstände hat. Zudem sollte sie einen gleichmäßigen Innenrand von oben und unten haben.
  4. Gestalten Sie die einzelnen Navigationspunkte der Navigationsleiste wie folgt:
    • Runden Sie die Ecken ab.
    • Definieren Sie einen Abstand zwischen den Navigationspunkten.
    • Rücken Sie die Schrift der Navigationspunkte leicht ein.
    • Definieren Sie für die Navigationspunkte einen inneren und einen äußeren Rand oben und unten.
    • Setzen sie den linken und rechten Seitenrand sowie die Breite der Navigationspunkte so, dass sie horizontal zentriert im nav-Bereich stehen.
  5. Lassen Sie zwischen keinen HTML-Elementen einen sichtbaren Zwischenraum frei (keine weißen Flächen). Benutzen Sie die Web-Konsole, um potentielle Ursachen für weiße Flächen zwischen den Elementen zu finden.
  6. Definieren Sie für den Inhaltsbereich eine Mindesthöhe von 200 Pixeln.
  7. Definieren Sie auch für den Fußbereich denselben Innenrand oben und links wie im Kopfbereich. Setzen Sie seine Höhe auf 80 Pixel.
  8. Blenden Sie den rechten Seitenbereich komplett aus. Hinweis: Benutzen Sie dafür die Eigenschaft display.

Vergleichen Sie Ihre Lösung mit dem Screenshot.

Kontrolle der eigenen Lösung
Überprüfen Sie hier Ihre Lösung. Sie sind mit dieser Teilaufgabe erst fertig, wenn die Tests keine Fehler zeigen.
Schritt 5: Desktop-Version
Boxen für die Desktop-Version
Boxen für die Desktop-Version, noch ohne endgültige Positionierung.

Da alle Block-Boxen im Browser standardmäßig untereinander angeordnet werden, ist es für die Desktop-Version noch nicht ausreichend, wenn nur die Boxengrößen angepasst werden. Die Position der Boxen muss später noch geändert werden.

Setzen Sie folgende Änderungen im bisherigen CSS-File um, allerdings in einem Media-Query-Bereich für breitere Bildschirme (ab 1200px) um:

  1. Setzen Sie die Breite der gesamten Seite auf 80% und zentrieren Sie diese. Positionieren Sie sie ohne Abstand an den oberen Rand des Browserfensters.
  2. Verringern Sie den Standardabstand zwischen der Seitenüberschrift und dem Navigationsbereich, z.B. auf 10px.
  3. Setzen Sie die Breiten der Navigationselemente so, dass jedes Navigationselement inklusive aller Ränder und Abstände ca. ein Drittel der Breite der Navigationsleiste einnimmt.
  4. Setzen Sie die Breiten und Höhen der beiden Seitenbereiche und des Inhaltsbereichs:
    • Breite der Seitenbereiche: jeweils 20%
    • Breite des Inhaltsbereichs: 60%.
  5. Blenden Sie den rechten Seitenbereich mit der Eigenschaft display wieder ein.
  6. Falls noch nicht passiert: Verändern Sie die Boxengrößen so, dass die Bilder im rechten Seitenbereich eine Höhe haben, die nicht wesentlich größer als 50 Pixel ist. Zentrieren Sie die Boxen, in denen die Bilder stehen, mit Hilfe der Eigenschaft margin.
Kontrolle der eigenen Lösung
Überprüfen Sie hier Ihre Lösung. Sie sind mit dieser Aufgabe erst fertig, wenn die Tests keine Fehler zeigen.