Ein sehr verbreiteter Trend ist heutzutage die Verwendung einer festen Navigation, die schrumpft und weniger aufdringlich wird, wenn der Benutzer auf der Seite nach unten blättert. In diesem Tutorial werde ich Ihnen zeigen, wie Sie dies mit der ZURBs Foundation Top Bar, einigen benutzerdefinierten sass und jQuery, erreichen können. Um das Ganze abzurunden, fügen wir einige Medienabfragen hinzu, um unser Menü ansprechbar zu machen. Lass uns anfangen!
Sie benötigen ein paar Dinge, um dieses Tutorial in den Griff zu bekommen:
Zunächst werden wir unsere Arbeitsumgebung einrichten. Wenn Sie nicht wissen, wie dies mit Compass und Sass geschieht, lesen Sie den Abschnitt "Erste Schritte" im Abschnitt "Erstellen einer oberen Leiste außerhalb der Canvas-Navigation mit Foundation 5".
Erstellen Sie Ihr neues Foundation-Projekt und verwenden Sie es Kompassuhr
um Ihr Projekt zu kompilieren. Wir schaffen unsere eigenen style.scss
im scss-Ordner für unsere Anpassungen und allgemeines Styling. Mit diesem Setup tauchen wir in die allgemeine HTML-Struktur ein, los geht's!
Nachdem Sie ein neues Foundation-Projekt gestartet haben, gehen Sie zur index.html
Datei und fangen Sie damit an, den gesamten Inhalt zwischen den body-Tags zu entfernen, mit Ausnahme der Skripts direkt vor dem schließenden body-Tag. Fügen Sie dann die folgende Zeile zu Ihrem hinzu , unsere importieren
style.css
.
Als Nächstes fügen wir einige Markierungen hinzu, wie die Kopfzeile, einen Hauptabschnitt und die Fußzeile. Außerdem fügen wir Dummy-Inhalte hinzu, um unsere Seite etwas zu füllen.
Ausgezeichnete Foundation Top Bar
Lorem ipsum dolor sitzt amet, eine elitäre Frau. Fugiat, explicabo architecto bei praesentium modi soluta alias veniam voluptate magca obcaecati facilitiesis cumque voluptatum impedit eius reiciendis ad minus odio similique sequi molestiae voluptatem commodi aliquam vermutung numquam doloribus libero tempora sed ani. Dies ist die beste Lösung für diese Erkrankung, aber es ist nicht wichtig, ob es sich dabei um ein Problem handelt. Officiis, Ducimus, voluptate doloremque nihil rerum folluntur obcaecati fugiat quitem qui nulla differentio labores quasi temporia evena tempore aliquam pariatur aliquam pariquam quarzdam aspernatur quis maiores minus quas culpa reprehenderit idiure opti Ausnahmen, Deleniti, Expedita Quod animi harum ist ein besonderes Mollitia corporis soluta. Quos, asperiores voluptas totam nesciunt atque iusto commodi. Diese Option ist nicht erforderlich, diese Option zu aktualisieren oder zu aktualisieren, wenn Sie sich in der Nähe befinden, wenn Sie sich in der Nähe dieser Einstellung befinden, wenn Sie sich vor dem Ziel entscheiden, sich vor dem Ziel zu verlassen, wenn Sie sich vor dem Ziel befinden, diese Option zur Verfügung stehen oder wenn Sie sich vor einem bestimmten Datum befinden optio similique iure.
Lorem ipsum dolor sitzt amet, eine elitäre Frau. Fugiat, explicabo architecto bei praesentium modi soluta alias veniam voluptate magca obcaecati facilitiesis cumque voluptatum impedit eius reiciendis ad minus odio similique sequi molestiae voluptatem commodi aliquam vermutung numquam doloribus libero tempora sed ani. Dies ist die beste Lösung für diese Erkrankung, aber es ist nicht wichtig, ob es sich dabei um ein Problem handelt. Officiis, Ducimus, voluptate doloremque nihil rerum folluntur obcaecati fugiat quitem qui nulla differentio labores quasi temporia evena tempore aliquam pariatur aliquam pariquam quarzdam aspernatur quis maiores minus quas culpa reprehenderit idiure opti Ausnahmen, Deleniti, Expedita Quod animi harum ist ein besonderes Mollitia corporis soluta. Quos, asperiores voluptas totam nesciunt atque iusto commodi. Diese Option ist nicht erforderlich, diese Option zu aktualisieren oder zu aktualisieren, wenn Sie sich in der Nähe befinden, wenn Sie sich in der Nähe dieser Einstellung befinden, wenn Sie sich vor dem Ziel entscheiden, sich vor dem Ziel zu verlassen, wenn Sie sich vor dem Ziel befinden, diese Option zur Verfügung stehen oder wenn Sie sich vor einem bestimmten Datum befinden optio similique iure.
Lorem ipsum dolor sitzt amet, eine elitäre Frau. Fugiat, explicabo architecto bei praesentium modi soluta alias veniam voluptate magca obcaecati facilitiesis cumque voluptatum impedit eius reiciendis ad minus odio similique sequi molestiae voluptatem commodi aliquam vermutung numquam doloribus libero tempora sed ani. Dies ist die beste Lösung für diese Erkrankung, aber es ist nicht wichtig, ob es sich dabei um ein Problem handelt. Officiis, Ducimus, voluptate doloremque nihil rerum folluntur obcaecati fugiat quitem qui nulla differentio labores quasi temporia evena tempore aliquam pariatur aliquam pariquam quarzdam aspernatur quis maiores minus quas culpa reprehenderit idiure opti Ausnahmen, Deleniti, Expedita Quod animi harum ist ein besonderes Mollitia corporis soluta. Quos, asperiores voluptas totam nesciunt atque iusto commodi. Diese Option ist nicht erforderlich, diese Option zu aktualisieren oder zu aktualisieren, wenn Sie sich in der Nähe befinden, wenn Sie sich in der Nähe dieser Einstellung befinden, wenn Sie sich vor dem Ziel entscheiden, sich vor dem Ziel zu verlassen, wenn Sie sich vor dem Ziel befinden, diese Option zur Verfügung stehen oder wenn Sie sich vor einem bestimmten Datum befinden optio similique iure.
Lorem ipsum dolor sitzt amet, eine elitäre Frau. Fugiat, explicabo architecto bei praesentium modi soluta alias veniam voluptate magca obcaecati facilitiesis cumque voluptatum impedit eius reiciendis ad minus odio similique sequi molestiae voluptatem commodi aliquam vermutung numquam doloribus libero tempora sed ani. Dies ist die beste Lösung für diese Erkrankung, aber es ist nicht wichtig, ob es sich dabei um ein Problem handelt. Officiis, Ducimus, voluptate doloremque nihil rerum folluntur obcaecati fugiat quitem qui nulla differentio labores quasi temporia evena tempore aliquam pariatur aliquam pariquam quarzdam aspernatur quis maiores minus quas culpa reprehenderit idiure opti Ausnahmen, Deleniti, Expedita Quod animi harum ist ein besonderes Mollitia corporis soluta. Quos, asperiores voluptas totam nesciunt atque iusto commodi. Diese Option ist nicht erforderlich, diese Option zu aktualisieren oder zu aktualisieren, wenn Sie sich in der Nähe befinden, wenn Sie sich in der Nähe dieser Einstellung befinden, wenn Sie sich vor dem Ziel entscheiden, sich vor dem Ziel zu verlassen, wenn Sie sich vor dem Ziel befinden, diese Option zur Verfügung stehen oder wenn Sie sich vor einem bestimmten Datum befinden optio similique iure.
© Copyright 2014
Hier haben wir eine Kopfzeile erstellt, einschließlich der , einen Inhaltsabschnitt und einen Fußzeilenabschnitt. Es gibt ein paar Dinge zu beachten:
hat eine Klasse .wichtig klasse
, welches wir verwenden werden, um jQuery mitzuteilen, auf welches Element das Ziel ausgerichtet werden soll, wenn wir nach unten scrollen..Header füllen
. Wir werden dies verwenden, um etwas Platz zwischen dem oberen Rand des Browsers und dem Inhaltsbereich einzufügen, da unsere Kopfzeile fest ist und einen höheren Z-Index als die übrigen Elemente auf der Seite hat.Als nächstes schreiben wir den HTML-Code für unsere Top-Leiste. Wir benötigen einen Titelbereich für unser Logo und einen Bereich mit einem
um unsere Menüpunkte zu speichern. Schauen Sie sich das folgende HTML an:
Wir haben ein hinzugefügt
mit der Klasse Titelbereich
wo wir unser Logo behalten. Als nächstes haben wir unsere mit einer Klasse von
Top-Bar-Bereich
und ein
mit einer Klasse .Recht
, enthält alle unsere Listenelemente. Unser Image hat eine ID von Logo-Bild
was wir später in diesem Tutorial auch in unserer jQuery brauchen werden.
Wenn wir unseren Browser öffnen und zu unserer Indexdatei wechseln, werden wir feststellen, dass unser grundlegendes Foundation-Styling viel Arbeit für uns leistet, damit die Dinge schön aussehen. Unser Logo passt trotzdem nicht. Im nächsten Schritt werden wir das beheben und der Kopfnavigation ein ordentliches Styling geben.
Um die gewünschten Ergebnisse zu erzielen, benötigen wir ein grundlegendes Styling für unsere Abschnitte, insbesondere für die Kopfzeile und den oberen Leistenabschnitt. Wir werden Sass nutzen, um dies zu ermöglichen.
Um zu beginnen, werden wir allen unseren Abschnitten etwas grundlegendes Styling geben. Schauen Sie sich den Sass unten an:
$ primary-color: # ef4523; / * HEADER SECTION =============================================== ============================= * / .header-section -webkit-box-shadow: 0 0 5px 0 rgba (0, 0,0,0,4); Box-Schatten: 0 0 5px 0 rgba (0,0,0,0,4); Position: feststehend; z-Index: 999; Mindestbreite: 100%; .contain-to-grid Hintergrundfarbe: rgba (255, 255, 255, 0.97); // FILL USED FOR HEADER .header-fill background: #fff; Höhe: 135px; .tablet-mobile-logo img padding-top: 30px; // USED FÜR JQUERY ACTION .padding-on-my-header padding: 17px 0.9375rem 62px 0.9375rem; ul.title-area img margin: -5px 0 0 0; . volle Breite min-Breite: 100%; p Zeilenhöhe: 3rem; Polsterung unten: 30px; / * INHALT ABSCHNITT ============================================== ============================= * / .content-section .main-content margin-top: 35px; / * FOOTER SECTION ============================================= ============================= * / .footer-section background: # 333; min-Höhe: 100px; p color: #fff; Rand oben: 50px;
Wir verwenden hier eine Primärfarbenvariable, die wir für einige Stilelemente der Top Bar verwenden werden. Unser Header-Bereich hat einen schönen, dezenten Box-Schatten, der aussieht, als ob er über dem Rest des Inhalts schwebt. Durch Festlegen der Position auf "Fest" und Festlegen des Z-Index: 999 stellen Sie sicher, dass die Navigation beim Scrollen nach unten im Browser bleibt und dass sie über allen anderen Elementen auf der Seite bleibt.
Unsere .Contain-to-Grid
class hat eine subtile transparente weiße Farbe, so dass beim Scrollen der Header so aussieht, als ob der Header über allen anderen Elementen schwebt. Wir müssen dieses Menü jedoch noch anpassen, also kümmern wir uns darum.
Jetzt fügen wir das Styling hinzu, um unserer Top Bar einen schönen, schlanken Look zu verleihen. Sie können auch einige Einstellungen der oberen Leiste in _settings.scss anpassen, aber ich zeige Ihnen, wie Sie dies tun, indem Sie unsere eigenen benutzerdefinierten Überschreibungen verwenden. Der Sass unten erklärt, was wo passiert:
/ * TOPBAR NAVGATION =============================================== ============================ * / .top-bar background: none; Polsterung: 45px 0,9375rem 90px 0,9375rem; Übergang: alle 0,5 s erleichtern 0,1 s; // LOGO-ANPASSUNG ul.title-area img margin: -10px 0 0 0; .top-bar-section ul background: none; // MENU ITEM STYLES li a: nicht (.button), li.active a: nicht (.button) background: none; Zeilenhöhe: 30px; Schriftgröße: 12px; Polsterung: 0; Marge: 5px 0 0 0; Text-Transformation: Großbuchstaben; // MENU ITEM HOVERS li a: nicht (.button): hover background: none; Rahmen unten: 2px einfarbig $ Primärfarbe; Farbe: # 222; // MENU ITEM ACTIVE li.active a: nicht (.button) border-bottom: 2px durchgehend $ primary-color; Farbe: # 222; &: hover Hintergrund: keine; li margin-left: 30px; a color: # 888; // DROPDOWN MENU .top-bar-section ul li: hover: nicht (.has-form)> a color: # 333; .top-bar-section li ul.dropdown background: #fff; Rahmen: 1px fest #ddd; Farbe: # 888; li border-bottom: 1px fest #ddd; Marge: 0; Polsterung: 5px 15px 5px 15px; .top-bar-section li ul.dropdown li a: nicht (.button): hover, .top-bar-section li ul.dropdown li a: nicht (.button) background: none; Farbe: # 222; Rand unten: keine; Polsterung: 20px -4px 40px 45px; .top-bar-section ul.dropdown li: hover: nicht (.has-form)> a: nicht (.button) background: none; Farbe: # 222; // DROPDOWN ARROW .has-dropdown> a: after border-color: rgba (0, 0, 0, 0.5) transparent transparent; Rand oben: -5px;
Hinweis: Wir werden die bewegen .Auffüllen auf meinem Kopf
Klasse unter den Top Bar-Regeln. Dies ist notwendig, damit die Polsterung die der Top Bar überschreibt.
Wir haben unserer Top Bar einige Füllungen hinzugefügt und einen Übergang von 0,5 Sekunden auf 0,1 Sekunden eingestellt. Dies sorgt für einen sanften Übergangseffekt, wenn unsere jQuery aktiviert wird. Der Hintergrund ist auf "none" gesetzt, so dass unsere Kopfzeile die etwas transparente Farbe hat, die wir gegeben haben .Contain-to-Grid
Klasse. Der Rest ist ein grundlegendes Styling für die Menüelemente, Dropdowns, Schwebeflüge und aktiven Zustände der Top Bar. Nichts zu übertrieben, aber wir haben ein sauberes Ergebnis erhalten, indem wir ein wenig Abstand und Leerraum hinzugefügt haben.
Lassen Sie uns einen Blick auf das werfen, was wir bisher haben. Es sieht auf jeden Fall wie etwas aus! Unser Menü ist jedoch immer noch etwas groß, wenn Sie die Seite nach unten scrollen. Dort ist unser .Auffüllen auf meinem Kopf
Klasse tritt ein.
Verwenden wir ein wenig jQuery-Magie, um die .Auffüllen auf meinem Kopf
Klicken Sie auf Bildlauf und ändern Sie das Logo in ein kleineres.
Wir werden eine init.js-Datei erstellen, um unseren jQuery-Code unterzubringen. Legen Sie es in Ihren Ordner / js und fügen Sie die folgende Zeile direkt vor dem schließenden body-Tag unten in Ihre Indexdatei ein, um das Skript einzuschließen: