Webdesign für Kinder CSS-Layout

Willkommen zur sechsten Lektion unserer Web Design for Kids-Serie, CSS Layout!

Hier legen wir alle Elemente genau dort ab, wo sie auf dem Bildschirm angezeigt werden sollen. Dazu werden wir unsere HTML- und CSS-Dateien hinzufügen.

Um sich zu erinnern, schauen Sie sich die Website an, die wir erstellen. Die Dateien für diesen Kurs können Sie hier herunterladen. Vergessen Sie nicht, Fragen zu stellen, die Sie in den Kommentaren am Ende dieser Seite haben.

Bevor wir loslegen

Es gibt ein paar Dinge, die wir wissen müssen, bevor wir direkt hinein springen Layout. In diesem ersten Abschnitt werden wir uns anschauen, wie man organisiert bleibt. Wir werden einige Grundlagen zur Positionierung besprechen und über welche Art von CSS sprechen Eigenschaften werden für das Layout verwendet.

CSS-Bestellung

Das Organisieren eines CSS-Dokuments ist sehr wichtig. Durch die richtige Organisation können wir alle Teile in unserer Datei leichter finden und später Änderungen vornehmen und Dinge hinzufügen. Generell ist es am besten, unser CSS zu bestellen Erklärungen in der Reihenfolge finden sie auf der Seite statt.

In dieser Lektion fügen wir Stile hinzu Main, zum Beispiel. Dieses zusätzliche Styling für ein solches wichtiges Element sollte in unserem CSS-Dokument enthalten sein Vor alle anderen Elemente, die darin verschachtelt sind Main.

Das Boxmodell

HTML-Elemente sind ein bisschen wie rechteckige Boxen. Das CSS-Boxmodell beschreibt den Abstand dieser Kästchen.

Jede Box hat vier Seiten. Wir können einen Wert auf alle vier Seiten gleichzeitig in unserem CSS anwenden Polsterung, Rand, und / oder Spanne. Wenn wir jedoch eine Seite eines Elements gestalten möchten, können wir dies auch tun. Zum Beispiel:

Polsterung links: 20px; Grenze: 4px fest # 205D76;

Sagen wir, dieser rosa Kasten steht für Text. Wir können sehen, dass das Auffüllen hinzugefügt wurde nur nach links und dicke blaue Umrandung alles vier Seiten des Inhalts.

Flexbox

CSS gibt uns eine Reihe von Eigenschaften, die speziell für das Layout unserer Website entwickelt wurden. So hilft zwar das Boxmodell das zu erklären Abstand um HTML-Elemente, Flexbox erlaubt uns zu Bewegung diese Elemente in Position.

Wenn wir Flexbox für ein Containerelement verwenden, wird dieses Element zu einem Flexbehälter und alle Elemente in ihm werden flex artikel.

Wenn wir die Flexbox auf einen Container anwenden, werden die Elemente automatisch entlang einer geraden Linie (horizontal) angeordnet, und dann können wir mit den anderen Flexbox-Eigenschaften detaillierter vorgehen.

Wir müssen flexbox nicht zu viel für unsere Website verwenden, aber es ist wichtig, über flexbox nachzudenken, da dies als die modernste und geeignetste Methode zum Positionieren kleiner Teile von Inhalten auf einer Website betrachtet wird.

Header

Das h1 und Stadtbild innerhalb der Header werden auf der Seite zentriert. Es gibt verschiedene Möglichkeiten, etwas mit CSS zu zentrieren, aber für den Moment werden wir es verwenden Text ausrichten: Mitte; auf der Header.

Wir zeigen auf den Header, indem wir den zuvor hinzugefügten Klassennamen verwenden:

.Primärkopf Textausrichtung: Mitte; 

Nicht vergessen! Speichern Sie die Dokumente und aktualisieren Sie den Browser, um die Änderungen zu sehen, während wir sie vornehmen!

Abschnitte

Das Erste, was wir mit unseren Abschnitten tun wollen, ist, den Inhalt, das Bild und die Liste innerhalb jedes Abschnitts nebeneinander zu stellen, anstatt gestapelt zu sein.

Um dies zu erreichen, werden wir verwenden Flexbox. Flexbox wird mithilfe von auf die Elemente in einem Containerelement angewendet Anzeige: Flex; auf dem Behälter:

.Ladenbereich Anzeige: Flex; Anzeige: -webkit-flex; / * Dies ist ein Herstellerpräfix! * /

Um dies auf das zurückzubringen, worüber wir früher gesprochen haben, das Image und div mit der Shopliste sind jetzt flex artikel, weil sie innerhalb dieses sind Flexbehälter.

Während es viele Optionen gibt, um genau anzugeben, wohin ein Element gehen soll, funktioniert das Standardverhalten von Flexbox hier perfekt für uns - und die Liste unseres Geschäfts befindet sich jetzt rechts vom Bild des Geschäfts.

Ein Hinweis zu "Herstellerpräfixe"

Da Flexbox relativ neu ist, hatten nicht alle Browser die Möglichkeit, es richtig einzubinden. Um dies zu umgehen, können wir eine Herstellerpräfix zu den Flexbox-Eigenschaften hinzufügen und diese fehlende Unterstützung vorerst hinzufügen. Auch wenn wir uns bei diesem Projekt nur auf die aktuellsten Versionen moderner Browser konzentrieren, müssen wir dennoch ein -Webkit- Herstellerpräfix für Flexbox, um sicherzustellen, dass es in "Safari" funktioniert.

Bild & Listen

Wir könnten etwas Abstand zwischen dem Bild und dem Element haben, das den gesamten Text enthält. In unserem HTML-Code fügen wir eine Klasse hinzu Shop-Details zum div den Text enthalten.

Nachdem wir dies gespeichert haben, können wir zu unserem CSS springen und diesen Abstand hinzufügen, jedoch nur zum links der div:

.Store-Details Rand links: 30px; 

Standard-Listenabstand

Links von unseren ungeordneten Listen gibt es einige Abstände. Das ist so, weil es einige gibt Standardstil das geht mit der Verwendung einer HTML-Liste einher. Manchmal ist dieses Standard-Styling in Ordnung und manchmal führt es möglicherweise nicht zu dem gewünschten Effekt.

Wir können diesen standardmäßigen Listenabstand mit entfernen Polsterung: 0; auf der ungeordneten Liste, aber das würde dazu führen, dass unsere Aufzählungszeichen zu weit nach links gehen, verglichen mit der Überschrift unserer Liste.

Wir wollen ein bisschen Polsterung hier, aber nicht so sehr, wie dies durch das Standardformat der Liste möglich ist. Einstellen a Polsterung links von 15px Auf der Liste werden die Aufzählungszeichen mit der Überschrift ziemlich gut abgeglichen, sodass wir dies zusätzlich zu den Dingen hinzufügen, die wir der Liste in der vorherigen Lektion hinzugefügt haben:

.Store-Liste Auffüllen links: 15px; / * neu hinzugefügtes Styling * / color: # FFC122; 

Abstand zwischen Listenelementen

Wir haben immer noch die Angelegenheit, die wir in der vorherigen Lektion erwähnt haben, wobei die Listenelemente zu nahe beieinander liegen. Um dies zu lösen, fügen wir eine Klasse hinzu Geschäftsname zu allen Listenelementen,

  • , in unserem HTML. Wir werden dann einen kleinen Rand hinzufügen Unterseite dieser Elemente.

    .Geschäftsname Margin-bottom: 10px; 

    Ränder und Zentrierung

    Abstände müssen zu den Abschnitten hinzugefügt werden und müssen auf der Seite zentriert werden. Wir werden das durch das tun Spanne und Breite Eigenschaften.

    Nochmals, wir werden das Styling, das wir bereits geschrieben haben, ergänzen:

    .Ladenbereich Anzeige: Flex; Anzeige: -webkit-flex; Marge: 50px auto; Breite: 450px; 

    Das 50px Wert innerhalb Spanne hier wendet diese Menge an Raum an oben von jedem Ladenbereich. Im Anschluss daran mit Auto weist den Browser an, die Breite des Elements (auf die wir festgelegt haben) zu berücksichtigen 450px) und zentriere es automatisch im Browserfenster.

    Fußzeile

    Für unser Fußzeile Wir zentrieren den Text und fügen ein wenig hinzu Polsterung um sicherzustellen, dass sich dieser Text nicht zu nahe an den Rändern der Fußzeile befindet.

    .Hauptfußzeile Polsterung: 2px; Text ausrichten: Mitte; Hintergrundfarbe: # FFC122; 

    Body Margin

    Wir haben darüber geredet Standardstil ein bisschen, als wir unsere Listen zusammensetzten. Das Karosserie Das Element verfügt über eigene Standardstile. Einer davon ist a Spanne das umgibt die ganze Seite. Während dies manchmal kein Problem ist, können wir feststellen, dass dies die Hintergrundfarbe unserer Fußzeile von den Seiten des Browser-Fensters vollständig zu strecken.

    Die Lösung hier ist, in unserem CSS-Dokument zurück zum Hauptteil zu springen und Folgendes hinzuzufügen:

    body margin: 0; 

    Fazit

    In diesem Kurs haben wir alle Elemente mit CSS-Layouttechniken zusammengefügt. Normalerweise gibt es mehrere Möglichkeiten, um ein bestimmtes Layout zu erreichen. Wenn Sie sich jedoch mit dem CSS-Box-Modell und der Flexbox vertraut machen, erhalten Sie ein tiefes Verständnis dieser verschiedenen Ansätze.

    Da unsere Website komplett ist (Glückwunsch!), Werden wir uns ausführlich darüber unterhalten Design, Typografie, und Farbe in den folgenden Lektionen. Dies wird Ihnen helfen, ein gut abgerundeter, informierter Webdesigner zu werden.

    Wir sehen uns in der Stadt!