Als Collis diese Website einführte und die Leser nach Tutorialanfragen fragte, war es üblich, ein "Magazinthema" für Blog-Plattformen zu finden. Dieses Tutorial konzentriert sich auf den ersten Teil des Prozesses: Anwenden eines CSS-Rasters auf das Design, um eine Homepagevorlage zu prototypen.
Sie können eine Demo dieses Tutorials anzeigen, indem Sie unten auf die Schaltfläche "Demo" klicken. Für die Quelle enthält der Download der ZIP-Datei keinen Blueprint-CSS-Code.
Der Fokus liegt hier auf einem Beispiel für das Design von Webseiten, das das Blueprint-CSS-Rasterframework verwendet, das auf meinem früheren CSS-Grid-Framework-Artikel basiert. Sie können jedoch dasselbe Verfahren auf jedes CSS-Raster-Framework anwenden, das Sie bevorzugen. Wenn Sie Grid-Frameworks nicht auf Produktionsstandorten verwenden möchten, können Sie den CSS-Code und die entsprechenden HTML-Klassen immer durch Ihren eigenen ersetzen.
Das unten abgebildete Seitendesign ist von zahlreichen WordPress-Magazin-Motiven beeinflusst, sodass Sie möglicherweise bekannte Designelemente sehen, obwohl dies kein WP-spezifisches Lernprogramm ist.
Ich möchte darauf hinweisen, dass ich nur ein "Sessel" und Autodesigner bin. Die minimalistische Art meines Designs wird meinen Mangel an angemessener Ausbildung widerspiegeln. Hoffentlich können Sie sich auf den allgemeinen Rasterentwurfs- und Codierungsprozess konzentrieren, der auf geometrischen Elementen und nicht auf dem Stil basiert.
Ein typischer Entwurfsprozess für Webseiten besteht darin, mit einer Skizze auf Papier zu beginnen, gefolgt von einem grafischen Modell in Photoshop oder Fireworks usw. Legen Sie alle Gestaltungselemente an der gewünschten Position ab. Später bestimmen Sie in der CSS-gitterbasierten Entwurfsphase die genauen Maße.)
FilmPundits ist eine Website, die einem Freund gehört, den ich gerade aufbaue. Das nachstehende Modell ist eines von mehreren "FilmScenic" -Designs, die ich als Prototyp erstellt habe. Das Thema Film eignet sich aufgrund der Bilder im Breitbildformat nur für dieses Beispiel.
Wenn Sie ein ähnliches Design für Nicht-Filmthemen verwenden möchten, passen Sie die Bildhöhen einfach an, damit sie weniger breit erscheinen. Für meine Designanforderungen muss das größte Image die größte Wirkung haben. Die Komposition befindet sich also etwas außerhalb der Mitte, horizontal. Dies macht die gesamte Seite etwas dynamischer und lenkt die Aufmerksamkeit auf die wichtigsten Elemente.
Schauen wir uns die "Führungslinien" unten an, die das Entwurfsraster für das Modell oben bilden.
Verwenden Sie Ihre bevorzugte Grafiksoftware, um die Hilfslinien in eine "Slice" -Karte umzuwandeln:
Wenn Sie kein CSS-Grid verwenden, müssen Sie Ihre Webseite und CSS-Datei an dieser Stelle entweder manuell codieren oder Ihre Software den Code für Sie generieren lassen.
Jetzt, da wir ein Grafikdesign-Modell haben, müssen wir das in HTML- und CSS-Code übersetzen. Zur Wiederholung beschleunigt die Verwendung eines CSS-Raster-Frameworks den Prototyping-Prozess. Sie können Ihre Gestaltungselemente in Pixelbreiten und Feinabstimmung an das von Ihnen verwendete CSS-Raster messen. (Ich kann mich nicht gerade mit der vertikalen Positionierung beschäftigen, da ich dies meistens mit Bildhöhen und oberen / unteren Rändern steuern kann.)
Hier ist der Prozess, den ich normalerweise zum Anwenden von CSS-Rastern verwende, der das Grafikdesign-Modell als Nebenbedingung behandelt. Sie müssen dies an Ihre Bedürfnisse anpassen.
Wenn Sie ein echter Designer sind, werden Sie im Gegensatz zu mir wahrscheinlich den größten Teil des Entwurfsmodells in Ihrem bevorzugten Grafikbearbeitungspaket erstellen. Im Allgemeinen ziehe ich es vor, auf Papier zu skizzieren und dann mithilfe von HTML und CSS (sowohl Blueprint- als auch benutzerdefinierte Klassen) zu simulieren, wie unten beschrieben.
Nachdem Sie nun ein Modell Ihres Seitenlayouts erstellt haben, können Sie mit der Codierung in HTML und CSS beginnen. Hier ist ein grober Prozess der eigentlichen Codierungsschritte:
Um die obigen Prozesse klarer zu machen, werfen wir einen Blick auf einige tatsächliche HTML- und CSS-Code-Fragmente für das zuvor abgebildete Beispiel für die Film-Site. Beachten Sie, dass ich mit den Nicht-Blueprint-Tags nur zur Verdeutlichung dieses Tutorials extrem gearbeitet habe. Möglicherweise möchten Sie überschüssige Klassen entfernen und verschachtelte Div-Tags zusammenführen.
Beachten Sie auch, dass ich aus Gründen der Übersichtlichkeit einige "hässliche" Nicht-Blueprint-CSS-Klassennamen verwendet habe. Vor ihnen stehen alle "fs", gefolgt von einem Funktionsnamen, um klar zu machen, wofür ich sie verwende.
Ich habe fünf Schritte für dieses Tutorial codiert, um den Verfeinerungsprozess in HTML und CSS zu veranschaulichen. Normalerweise würde ich Stufe 1-3 komprimieren.
Diese Schritte werden in den folgenden Abschnitten klarer.
Zunächst möchten wir die HTML-Datei einrichten:
FilmScenic-Vorlage Header, Inhalt, Seitenleiste und Fußzeile finden Sie hier
Blockieren Sie nun grob die gesamte Seite (Container) in drei CSS-gesteuerte Abschnitte: fs-mainblock, fs-sidebar und fs-footer. Sie können dies im HTML-Code unten sehen, der einige der Elemente von div.container enthält, die wir zuvor eingeführt haben:
Header, Inhaltsblöcke gehen hierSeitenleiste(c) Copyright 2008-present, Dieses Blog
Sie werden feststellen, dass die Divs oben sowohl benutzerdefinierte Klassen als auch Blueprint-Klassen verwenden (span-18, colborder, span-5, last, span-24). Die "letzte" Klasse ist sehr wichtig, andernfalls wird der voreingestellte rechte Rand des fs-sidebar-Abschnitts nicht deaktiviert, und der Abschnitt wird unter dem fs-mainblock-Abschnitt und nicht daneben gerendert. Der Colborder zeichnet eine vertikale Linie zwischen fs-mainblock und fs-sidebar und nimmt eine eigene Spalte auf. Dies spiegelt sich nicht im "span-18" -Wert wider. Theoretisch umfasst der Mainblock tatsächlich 19 Spalten (19 + 5 = 24 Spalten, der Blueprint-Standard)..
Jetzt fügen wir dem benutzerdefinierten Stylesheet Klassen für diese drei Blöcke hinzu (siehe unten). Hinweis: Einige davon sind temporär, um die Blockrechtecke auf dem Bildschirm darzustellen und gleichzeitig das Design zu verfeinern. Konsultieren Sie die finale style.css-Datei, anstatt genau die Regeln zu verwenden, die in den nachstehenden CSS-Codeausschnitten aufgeführt sind.
div.fs-content margin-bottom: 20px; div.fs-mainblock height: 700px; Hintergrund: #ccc; div.fs-sidebar height: 700px; Hintergrund: #ccc; div.fs-footer margin-top: 20px; Polsterauflage: 5px; Höhe: 30px; Hintergrund: #ccc; Border-Top: 1px fest # 000;
Das CSS oben führt zu einem groben Modell:
Lassen Sie uns das Design weiter verfeinern, indem Sie die Abschnitte aufschlüsseln. Die Div-Klasse fs-mainblock ist in fs-header- und fs-funktionsfähige Abschnitte unterteilt. Die fs-Sidebar ist in fs-Recentposts und fs-Newsbox unterteilt. Hier ist der verfeinerte div.container:
Logo + MenüAusgewählte AbschnitteKürzliche Posts
Nachrichten(c) Copyright 2008-present, Dieses Blog
Wie zuvor werden Klassen für die neuen Abschnitte zum benutzerdefinierten Stylesheet "style.css" hinzugefügt. Die Höhe jedes Abschnitts wird bei Bedarf angenähert, und wir fügen wieder einigen Elementen einen temporären Hintergrund hinzu, der in der endgültigen style.css-Datei entfernt wird. Hier einige zusätzliche CSS-Regeln:
div.fs-header // Logo + Menübreite: 710px; Höhe: 110px; Hintergrund: #ccc; Rand unten: 10px; div.fs-featured // Ausgewählte Abschnitte width: 710px; Höhe: 580px; Hintergrund: #ccc; Rand unten: 10px; div.fs-sidebar div.fs-recentposts height: 370px; Hintergrund: #ccc; Rand unten: 10px; div.fs-sidebar div.fs-newsbox height: 270px; Hintergrund: #ccc;
Daraus ergibt sich das folgende Modell:
Dies ist die letzte Phase des Modellierungsprozesses. Wir fügen Abschnitte für alle übrigen Designelemente hinzu:
So sieht unser div.container jetzt aus:
LogoSpeisekarteVorgestelltgroßes FeatureSM-FunktionSM-FunktionSM-FunktionKürzliche Postsletzter Beitragletzter Beitragletzter Beitragletzter Beitragletzter Beitrag
Nachrichten(c) Copyright 2008-present, Dieses Blog
Wie Sie sehen, werden viele verschachtelte Divs verwendet. Ein Teil davon dient lediglich der Klarheit in diesem Tutorial. Im Übrigen können Sie in einer Produktionsstätte einige davon komprimieren oder die Blueprint-Klassen durch Ihre eigenen ersetzen. Einige Benutzer ziehen es vor, auf ihren Websites das Zwischenspeichern zu verwenden, wenn Sie "Magazin" -Themen mit Raster-Frameworks verwenden. Dies ist jedoch für dieses Lernprogramm nicht möglich.
Jede der neuen Klassen wird mit benutzerdefinierten Höhen und Hintergründen zum benutzerdefinierten Stylesheet hinzugefügt:
div.fs-logo / * Site logo * / height: 90px; Breite: 400px; Hintergrund: # 999; Rand unten: 10px; div.fs-horiznav / * Horizontales Menü * / height: 25px; Breite: 710px; Hintergrund: # 999; Rand unten: 10px; div.fs-featured / * Empfohlene Abschnitte * / width: 710px; Höhe: 580px; Hintergrund: #ccc; Rand oben: 10px; Rand unten: 10px; div.fs-txt-featured / * Featured * / height: 30px; Breite: 110px; Hintergrund: # 999; div.fs-features / * Features * / height: 570px; Breite: 590px; Hintergrund: # 999; div.fs-bigfeature / * Große Funktion * / height: 260px; Breite: 590px; Hintergrund: # 666; Rand unten: 20px; div.fs-smfeatures div / * Kleines Feature * / height: 280px; Hintergrund: # 666; Rand unten: 10px; div.fs-recentpost / * Individueller letzter Beitrag. Die Höhe ist tatsächlich variabel, beträgt aber mindestens 49 px * / height: 50px; // ungefähr Breite: 190px; Hintergrund: # 999; Rand unten: 10px;
Dies führt zu unserer letzten Mockup-Phase, die in Geometrien dem "geschnittenen" Grafikdesign-Mockup ziemlich nahe kommt:
Wir sind jetzt bereit, den endgültigen Code zu erstellen.
Dies ist der letzte Schritt im Codierungsprozess, in dem wir die eigentlichen Designelemente ablegen, überschüssige divs und Klassen bereinigen und alle "blockierenden" Elemente entfernen:
Jetzt haben wir unten unser endgültiges Design, das dasselbe wie oben in diesem Tutorial ist:
Die endgültigen Dateien enthalten keine der grau blockierten Elemente. In der Datei style.css sind weitere ausführliche Kommentare enthalten, mit denen Sie den Zweck der einzelnen benutzerdefinierten Klassen erkennen können. Die ZIP-Datei enthält Bilder aus verschiedenen Filmplakaten, die dem Urheberrecht der jeweiligen Eigentümer unterliegen. Die Blueprint-CSS-Griddateien sind nicht in der ZIP-Datei enthalten.
Bitte beachten Sie, dass zwischen den Quelldateien und dem oben dargestellten Code geringfügige Abweichungen bestehen können.
Einige abschließende Kommentare zum Beispiel in diesem Tutorial:
Dies ist weder ein komplexes Beispiel noch ein vollständiges Thema für eine Blogplattform, aber ich hoffe, es hilft Ihnen, die Verwendung von CSS-Rastern für das Design von Webseiten zu verstehen. Während der Code hier für eine statische Seite gilt, ist der nächste Schritt die Integration in eine Blogplattform, um eine Homepagevorlage zu erstellen.