So erstellen Sie ein Off-Canvas-Navigationslayout mit Bootstrap

Bootstrap wurde für eine Vielzahl von Szenarien entwickelt, indem es eine Handvoll häufig verwendeter Webkomponenten zur Verfügung stellt. Es gibt Schaltflächen, eine responsive Navigationsleiste, Registerkarten, QuickInfos, Karussells usw. Trotz aller Spielsachen, die Bootstrap uns bietet, fehlt immer noch ein sehr beliebtes Muster: die Off-Canvas-Navigation.

Durch diesen Navigationsansatz wird das Menü vom sichtbaren Bereich (der Leinwand) entfernt, sodass mehr Platz für den Hauptinhalt geschaffen wird. Off-Canvas-Navigation wurde zuerst in nativen mobilen Apps populär gemacht, danach kam sie zum responsiven Web (zum Teil dank des Artikels von Luke Wroblewski). Normalerweise verwendet es jQuery, um den Status der Navigation umzuschalten.

Apropos: Bootstrap ist so beliebt und die Community-Unterstützung ist so großartig. Entwickler haben Plugins oder Erweiterungen erstellt, die Komponenten enthalten, die in der nicht verfügbar sind offiziell Bootstrap. Und dazu gehört auch die Implementierung einer Off-Canvas-Navigation.

In diesem Tutorial zeige ich Ihnen, wie Sie Bootstrap mit einer Erweiterung namens Jasny Bootstrap von Arnold Daniels eine Off-Canvas-Navigation hinzufügen. Meine zwei Gründe für diese Option sind:

  • Wie der Name schon sagt, wurde die Erweiterung speziell für Bootstrap erstellt. Daher stimmt die Codebasis darin mit der von Bootstrap überein. Es folgt den Bootstrap-Konventionen hinsichtlich der Benennung und der Methoden zum Implementieren von Komponenten.
  • Jasny Bootstrap wird mit dem Off-Canvas-Navigations-Plugin geliefert, das durch eine Reihe von Klassen, HTML5-Datenattributen und JavaScript-Initiierung flexibel konfiguriert werden kann.

Ein bisschen über Bower

In diesem Tutorial werde ich Sie durch einen Workflow führen, der die Wartung der Website mit Bower erleichtert. Stellen Sie also sicher, dass Sie Bower bereits in Ihrem System installiert haben. Wenn Sie Bower lieber nicht verwenden möchten, ist das in Ordnung, aber um Ihnen den Einstieg zu erleichtern, haben wir auch eine Reihe von Anfänger-Tutorials zu Bower veröffentlicht.

  • Meet Bower: Ein Paketmanager für das Web
  • Schneller Tipp: Was tun, wenn Sie auf eine Bower-Datei stoßen
  • Grundlegende JS-Bibliotheken für Webdesign (für Tuts + -Kurse)

Nun, lass uns anfangen.

1. Erste Schritte

Beginnen wir mit dem Projekt, indem wir die Arbeitsverzeichnisse erstellen, in denen wir die erforderlichen Teile platzieren.

Arbeitsverzeichnis | - Vermögenswerte | | css | img | '- js' - sources | - js '- weniger 

Wir werden die verwenden Vermögenswerte Ordner, um die Website-Ressourcen wie Bilder, Stylesheets, JavaScript-Dateien und ähnliche Dateien zu speichern. Das Quellen In diesem Ordner legen wir die nicht kompiliert Quellcode von LESS und JavaScript. Danach definieren wir die Projektspezifikation - Name, Version, Abhängigkeiten und andere - mit Bower.

Lauf Laube init Befehl im Arbeitsverzeichnis und füllen Sie alle Eingabeaufforderungen aus.

Ein Beispiel für die Befehlseingaben "bower init"

Sie müssen den Eingaben nicht genau wie oben gezeigt folgen. Passen Sie die Eingänge an Ihre eigenen Anforderungen an. Sobald der Vorgang abgeschlossen ist, wird ein neuer Dateiname angezeigt bower.json sollte vorhanden sein und die Projektspezifikation enthalten, die wir gerade ausgefüllt haben.

2. Installieren der Projektabhängigkeiten

Dieses Projekt erfordert zwei Rahmenbedingungen. nämlich Bootstrap und Jasny Bootstrap. Bevor wir sie installieren, geben wir den Namen des Verzeichnisses an, in dem Bower die Pakete installieren muss. Erstellen Sie dazu eine neue Datei in der Stammebene des Arbeitsverzeichnisses mit dem Namen .bowerrc und geben Sie die folgenden Zeilen ein, um den Ordner zu benennen.

"verzeichnis": "komponenten" 

Fügen Sie dann diese Zeilen in ein bower.json, Dadurch wird Bower mitgeteilt, dass die Projektabhängigkeiten Bootstrap und Jasny Bootstrap Version 3.1.1 oder neuer sind.

"devDependencies": "bootstrap": "> = 3.1.1", "jasny-bootstrap": "> = 3.1.1" 

Führen Sie in Terminal oder Eingabeaufforderung aus Bower installieren Befehl, um die Abhängigkeiten zu übernehmen, die swe alle auf einmal festgelegt hat.

Wie in angegeben .bowerrc, Die Projektabhängigkeiten sollten sich jetzt in einem neu erstellten Ordner mit dem Namen befinden Komponenten.

3. Organisieren der Stylesheets

Wenn alle Abhängigkeiten vorbereitet sind, können wir mit dem Projekt beginnen! Wir werden die Dinge beginnen, indem wir die Stylesheets organisieren. Es gibt vier LESS-Stylesheets, die wir erstellen müssen, und zwar:

  • Variablen - Wie der Name schon sagt, enthält dieses Stylesheet die in Bootstrap verwendeten Variablen. Wir machen diese Kopie für den Fall, dass wir die Variablen anpassen möchten, ohne die Originaldateien zu beeinflussen (kopieren Sie die Bootstrap-Variablen aus dieser Gist)..
  • variables-jasny.less - In ähnlicher Weise enthält dieses Stylesheet die Variablen, die in der Erweiterung Jasny Bootstrap verwendet werden (kopieren Sie die Variablen hier)..
  • ohne App - Dieses Stylesheet enthält Verweise auf die Bootstrap- und Jasny Bootstrap-Stylesheets, die wir zum Erstellen der Website benötigen (Sie können den Inhalt hier kopieren).
  • style.less - Wir werden unsere eigenen Styles in dieses Stylesheet schreiben.

Erstellen und zusammenstellen wie folgt:

… '- sources | - js' - weniger | - app.less | - style.less | - variables-jasny.less '- variables.less 

Als nächstes müssen Sie diese Stylesheets erstellen. Dazu verwenden wir Koala mit folgender Konfiguration:

  • Stellen Sie sicher, dass die Automatisches Kompilieren Option ist markiert. Daher wird Koala LESS-Dateien bei jeder Änderung sofort in CSS kompilieren.
  • Stellen Sie das ein ohne App ebenso wie style.less Ausgabeziel an Assets / CSS / Verzeichnis.
  • Wähle aus Quellkarte Option zur Generierung der .Karte Zum leichteren Debuggen des Stylesheets. Wenn Sie zum ersten Mal von Source Map gehört haben, lesen Sie unser Tutorial zu Tuts + Code, Source Map 101.

Sobald die Konfiguration festgelegt ist, kompilieren Sie den WENIGER in CSS.

Hinweis: Denken Sie daran, dass Sie nicht verpflichtet sind, Koala zu verwenden, wenn Sie Ihre LESS-Dateien auf andere Weise kompilieren möchten. 

4. Erstellen der Webseite

Erstellen Sie eine neue HTML-Datei mit dem Namen index.html. Abgesehen von der grundlegenden HTML5-Struktur ist die index.html Die Datei enthält außerdem das Meta-Viewport-Tag, das Meta-Description-Tag, den Titel und die Links zu den Stylesheets.

      Bootstrap-Off-Canvas-Navigation       

Die Off-Canvas-Navigation

Nun fügen wir die Off-Canvas-Navigation hinzu. Jasny Bootstrap verwendet einen ähnlichen Ansatz wie Bootstrap, wenn es um das Markup der Komponenten geht. So beginnen wir mit der Off-Canvas-Navigationsstruktur:

 

Es umfasst eine Handvoll Klassen. Drei Klassen nämlich Navmenu, navmenu-invers, navmenu-fixed-right Definiere das Element als Navmenu. Das Navmenu ist eine der Jasny Bootstrap-Komponenten, die das zugewiesene Element als vertikale Navigation definiert. Das offcanvas ist die Klasse, die das Element aus dem Ansichtsfenster setzt. Zusätzlich haben wir eine neue Klasse hinzugefügt, Navmenu-Site, So können wir die Navigation mit unseren eigenen Stilen anpassen.

Die Menüpunkte innerhalb der Off-Canvas-Navigation können mit der Schaltfläche angeordnet werden

    Element zusammen mit nav navmenu-nav Klasse, wie es so ist.

     

    Sie können gerne originale Bootstrap-Komponenten in Verbindung mit diesem Markup hinzufügen, z. B. Dropdowns und Schaltflächen. 

    Das HTML-Markup für die Navigation, das wir in diesem Tutorial hinzufügen, ist ziemlich lang. Der Einfachheit halber kann also das vollständige Markup durch erhalten werden dieser Gist..

    Der Inhalt der Webseite

    Das folgende Bild zeigt unseren Plan zur Gestaltung des Webseiteninhalts:

    Der Website-Blueprint, der das Layout zeigt. 

    Wie oben gezeigt, umfasst der Inhalt der Website ein Logo, einen Umschaltknopf mit dem Symbol "Hamburger", um die Navigation ein- und auszublenden, und einige Zeilen mit Stichworten mit einem großen Button - dem sogenannten Call-to-Action-Button

    Das HTML-Markup des Inhalts ist ähnlich lang, um in diesem Lernprogramm eingefügt zu werden. Kopieren Sie stattdessen das Ganze aus dieser Gist.

    5. Die Stile

    Viele der hier gezeigten Stile sind lediglich dekorativ und drehen sich um Farben, Größen und Positionen. Dieser dekorative Stil wird erreicht, indem die vordefinierten Bootstrap-Stile angepasst und eigene Stile geschrieben werden. Anstatt durch die Schritte zu gehen, die möglicherweise bereits offensichtlich sind, möchte ich einige wichtige Details hervorheben, die am wichtigsten sind.

    Bevor Sie eine einzige Zeile schreiben, importieren Sie die ohne App Stylesheet in die style.less. Dies ermöglicht uns die Wiederverwendung der Variablen und der darin enthaltenen Mixins.

    @import (Referenz) 'app.less'; 

    Zweitens erstellen wir eine LESS-Variable, um den Bildpfad zu definieren. Wir nennen die Variable @ path-img.

    @ path-img: '… /… / assets / img /'; 

    Wann immer wir uns auf ein Bild innerhalb des Stylesheets beziehen müssen, fügen wir diese Variable ein. Dieses Beispiel zeigt, wie wir es verwenden, um auf das Logo zu zeigen.

    .Impressum-Marke Margin-Top: 10px; Rand unten: 10px; Schwimmer: links; Text ausrichten: links; Rand oben: -15px; a .text-hide (); Anzeige: Inline-Block; Hintergrundbild: URL ('@ path-img logo.png'); Hintergrundwiederholung: keine Wiederholung; Hintergrundgröße: 100% 100%; Breite: 100px; Höhe: 33px;  

    Vertikale Zentrierung

    Zum Schluss möchten wir den Inhalt, die Schlagworte und den Button vertikal zentrieren. CSS bietet uns zu diesem Zeitpunkt noch keine bequeme Möglichkeit, den Inhalt mithilfe einer einzigen Eigenschaftsdeklaration vertikal auszurichten. Folglich gibt es mehrere Möglichkeiten, dies zu erreichen, und ehrlich gesagt ist keiner besser als jeder andere.

    In diesem Fall werden wir den Inhalt mit der Anzeigemethode CSS-Tabelle ausrichten. Wenn Sie sich das Webseiten-Markup ansehen, werden Sie feststellen, dass wir den Webseiteninhalt mit zwei Seiten umschließen

    . Jeder
    wird mit zugewiesen Site-Wrapper und Site-Wrapper-Inneres Klasse, wie es so ist.

    Um den Inhalt vertikal auszurichten, setzen wir das Anzeige Eigentum von Site-Wrapper zu Tabelle, und machen Sie es über das gesamte Ansichtsfenster, indem Sie das angeben Breite und das Höhe zu 100%. Dann legen wir die innere Hülle fest Anzeige Eigentum an Tabellenzelle. Dies erlaubt uns jetzt, sich zu bewerben vertikal ausrichten Eigenschaft, um den Inhalt vertikal auszurichten.

    .Site-Wrapper Anzeige: Tabelle; Breite: 100%; Höhe: 100%; Mindesthöhe: 100%;  .site-wrapper-inner display: table-cell; vertikal ausrichten: Mitte;  

    Ausführliche Informationen zu den Stilregeln können abgerufen werden in diesem Gist.

    6. Machen Sie die Webseite lebendig

    Nachdem wir die Stile hinzugefügt haben, sollte die Website jetzt wie in der Abbildung dargestellt aussehen:

    Die Website ist jedoch noch nicht voll funktionsfähig. Klicken Sie auf das Symbol "Hamburger". Keine Navigation außerhalb der Leinwand. Diese Funktionalität stammt aus der JavaScript-Bibliothek. Daher müssen wir sie kompilieren und der Website hinzufügen.

    Es gibt vier JavaScript-Bibliotheken, die wir benötigen, um die Off-Canvas-Navigation zu verwenden jQuery, Übergang.js, dropdown.js um das Dropdown-Menü zu aktivieren, das wir in der Navigation hinzugefügt haben, und zuletzt das offcanvas.js. Um sie zusammenzustellen, erstellen Sie eine neue JavaScript-Datei im source / js Verzeichnis. In diesem Fall nennen wir es app.js.

    … '- Quellen | - js | '- app.js' - weniger 

    Importieren Sie die JavaScript-Bibliotheken mit der @ koala-prepend, wie so.

    // @ koala-prepend "… /… /components/jquery/dist/jquery.js" // @ koala-prepend "… /… /components/bootstrap/js/transition.js" // @ koala-prepend "… /… /Components/jasny-bootstrap/js/offcanvas.js " 

    Stellen Sie die Ausgabe auf / assets / js Verzeichnis und drücken Sie die Kompilieren Taste. Vergessen Sie nicht, die kompilierte Datei auf der Webseite zu verlinken.

     

    Jetzt sollten Sie in der Lage sein, die Off-Canvas-Navigation ein- und auszublenden. 

    Übergang

    Darüber hinaus können Sie unten auf der Seite das folgende JavaScript hinzufügen, wodurch der Übergangseffekt des Dropdown-Menüs aktiviert wird.

     

    Fazit

    In diesem Lernprogramm haben wir eine funktionierende Off-Canvas-Navigation für Bootstrap mit einer Erweiterung namens Jasny Bootstrap enthalten. 

    Wenn Sie Bower in diesem Lernprogramm verwendet haben, können Sie mit diesen beiden Bibliotheken auf dem neuesten Stand bleiben. Nach einer Weile werden diese beiden Bibliotheken möglicherweise aktualisiert. Mit Bower können Sie das ausführen Laugenliste Befehl, um alle installierten Bower-Pakete aufzulisten und zu überprüfen, ob jeweils eine neue Version verfügbar ist.

    Falls eine neue Version verfügbar ist, führen Sie einfach die Bower Update oder der Bower installieren Befehl zum Aktualisieren des Pakets. So einfach ist das.

    Ich hoffe, Sie haben aus diesem Tutorial ein paar Methoden und Tricks gelernt. Wenn Sie Fragen haben, können Sie diese gerne in den Kommentaren hinterlassen.

    Weitere Referenzen

    • Off the Beaten Canvas: Das Potenzial des Off-Canvas-Musters erkunden
    • Untersuchen der Responsive Navigation: Off Canvas Patterns
    • Responsive Design Patterns
    • Los geht's mit der Zurb Foundation