So erstellen Sie Ihre eigene klebrige Kopfleiste wie MakeUseOf

So erstellen Sie Ihre eigene klebrige Kopfleiste wie MakeUseOf / Wordpress & Webentwicklung

Vor etwa einem Monat haben wir ein neues Oberflächenelement für MakeUseOf eingeführt - eine schwebende Navigations- und Suchleiste. Das Feedback, das wir bekommen haben, ist fast durchweg positiv, der interne Suchverkehr hat enorm zugenommen und einige Leser haben gefragt, wie man eine Website für ihre eigene Website erstellen kann.

Wir werden jQuery verwenden, um die Leiste an den oberen Rand des Bildschirms zu kleben - allerdings erst ab einem bestimmten Punkt. Ich mache das alles im Standard-WordPress-Theme - Twenty Eleven, obwohl es natürlich auf jedes Theme oder jede Website angewendet werden kann, die Sie ausreichend verstehen, wie man es ändert.

Das HTML

Öffnen Sie zunächst die Themes header.php und identifizieren Sie die Navigationsleiste, die wir verkleben möchten. Wie ich sagte, ist der Code unten für die Standardeinstellung von elfundzwanzig; Ihre können variieren.

 

Fügen Sie zunächst einen neuen DIV-Container hinzu, der den gesamten NAV-Abschnitt umgibt.

 

Lassen Sie uns auch die Standardsuchleiste hier verschieben. Sie werden feststellen, dass sie standardmäßig rechts oben im Design hinzugefügt wird. finde die Linie und fügen Sie es in unseren Navigationsbereich ein. Löschen Sie alle anderen Instanzen in dieser Datei.

Wenn Sie jetzt speichern und aktualisieren, wird das Suchformular tatsächlich nicht in der Navigationsleiste angezeigt. Es wird immer noch oben rechts angezeigt. Das liegt daran, dass es absolut mit CSS positioniert wurde, und wir werden das alles in einer Sekunde löschen.

Das CSS

Öffnen Sie die Hauptdatei style.css und suchen Sie nach dem Abschnitt für das Suchformular:

 #branding #searchform …

Ersetzen Sie das, was sich darin befindet (sollte etwa vier Zeilen enthalten, einschließlich einiger absoluter Positionierung) durch Folgendes:

 #branding #searchform float: left; Hintergrund: weiß; Marge: 7px; 

Fühlen Sie sich frei, um die Farbe oder den Rand anzupassen. Wechseln Sie den Schwimmer, wenn Sie ihn lieber rechts von der Leiste sehen möchten. In diesem Thema wird die Suche so eingestellt, dass sie erweitert wird, wenn der Benutzer darin klickt. Das ist nicht in diesem Tutorial, aber Sie können einen ähnlichen Effekt in unserer MakeUseOf-Suche feststellen.

jQuery

Wenn Sie sich fragen, warum wir jQuery dazu verwenden, ist es einfach: CSS ist fest eingestellt und kann nicht dynamisch angepasst werden. Wir könnten zwar CSS verwenden, um einen Sticky-Header zu erstellen, es müsste jedoch das oberste Element auf der Seite sein. Das Problem, das wir haben, ist, dass unser Menü nicht das oberste Element ist, also können wir nicht damit anfangen, dass es klebrig ist. Hier wird die jQuery verwendet. wir können überprüfen, wann der Benutzer einen bestimmten Punkt passiert. dann und nur dann machen es klebrig.

Beginnen Sie mit dem Hinzufügen von jQuery zu Ihrem Design. Dein Theme hat es vielleicht schon geladen; wenn nicht, keine sorgen. Sie können es entweder in die Warteschlange einreihen, indem Sie folgenden Code zu Ihrer functions.php hinzufügen:

 

Oder Sie können WordPress ganz einfach umgehen und dies in die Header-Datei einfügen. Fügen Sie einfach in Ihrem Kopfbereich diese Zeile hinzu:

  

Wenn Sie die erste Methode verwenden, wird sie geladen kein Konflikt Modus, was bedeutet, dass Sie verwenden müssen “jQuery” in Ihrem Code, um auf die jQuery-Funktionen zuzugreifen. Wenn Sie die zweite Methode verwenden, um sie direkt Ihrem Header hinzuzufügen, können Sie den standardmäßigen jQuery-Accessor von verwenden $. Ich gehe von der zweiten Methode im folgenden Code aus.

Um einen tatsächlichen jQuery-Code hinzuzufügen, platzieren Sie den folgenden Code am Ende Ihres Codes header.php - Ich habe meine kurz vor die gestellt

  

Als Erstes ermittelt das Skript, wo die Navigationsleiste beginnt und merkt sich diesen Wert. Zweitens fügen wir das Bildlaufereignis hinzu. Dies bedeutet, dass jedes Mal, wenn der Benutzer die Seite scrollt, dieser Codeblock ausgeführt werden kann. Wenn der Code ausgeführt wird, gibt es zwei Möglichkeiten:
1. Wenn das Fenster an der Navigationsleiste vorbeigekommen ist, machen wir es zu einem festen CSS (dies ist das “klebrig” Teil).
2. Wenn sich der obere Rand des Fensters über der ursprünglichen Position der Navigationsleiste befindet (dh der Benutzer hat wieder einen Bildlauf nach oben durchgeführt), setzen wir ihn wieder auf die standardmäßige statische Position.

Es gibt zwei Punkte, auf die ich Sie aufmerksam machen möchte:

  • Das +288 ist da, um den Fehler zu beheben, eine falsche Position zu bekommen; Ohne sie löst der Stab zu früh seinen klebrigen Zustand aus - entfernen Sie ihn, um zu sehen, was ich meine. Dies ist nicht in allen Themen erforderlich, und Sie können wahrscheinlich eine bessere Lösung finden.
  • Bearbeiten Sie die Zeile style.css (Zeile 550), um das Problem zu beheben, dass die Navigationsleiste ihre Breite ändert, wenn sie in den Sticky-Status wechselt 1000px anstatt 100%

Ihre Navigationsleiste sollte jetzt schön klebrig sein.

Zusammenfassung:

Der volle Ersatz header.php Code für dieses Tutorial finden Sie in diesem Pastebin. und der Ersatz style.css Hier . Ich habe gehofft, dass Ihnen dieses kleine Tutorial gefallen hat. Wenn Sie Probleme haben, posten Sie in den Kommentaren oder fragen Sie bei MakeUseOf Answers nach. Denken Sie jedoch daran, Ihre Website öffentlich zugänglich zu machen, damit ich selbst mitgehen kann. Wenn Sie neu sind, lesen Sie bitte alle anderen Blogger- und Webentwicklungsartikel.

Erfahren Sie mehr über: Webdesign, Webentwicklung, Wordpress-Themes.