Das Priority+ Navigationsmuster

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Die Idee ist: so viele Navigationselemente anzeigen, wie horizontal passen, mit einem UI-Toggle, um den Rest anzuzeigen. Ich mag die Idee. Warum alles hinter einem Toggle verstecken, wenn Platz ist, um die wichtigsten Links freizugeben? Wie es aussieht und wie es implementiert wird, kann variieren. Schauen wir uns einige Beispiele an!

Laut diesem Brad Frost Beitrag wurde dieses Muster von Michael Scharnagl geprägt, und hier ist die visuelle Demo

Das Muster fand seinen Weg in Brads Responsive Patterns

Siehe den Pen Priority+ Navigation von Brad Frost (@bradfrost) auf CodePen.

In dieser Demo springt die Navigation entweder von der Anzeige aller Links zur Anzeige von nur dreien mit einem "Mehr"-Link.

Die ganze Idee für diesen Beitrag stammt von einem kleinen Gedanken, bei dem ich mich fragte, ob es einen einfachen CSS-Weg gibt, um Navigationselemente nur dann vom Rand "abfallen" zu lassen, wenn Platz ist, und sie hinter einem Menü-Toggle verschwinden zu lassen. Meine Idee war, die Navigation mit einer festen Höhe und verstecktem Überlauf zu versehen und sie einrücken zu lassen. Wenn ein Navigationselement umbrach, würde es visuell verschwinden. Hier ist dieses Konzept

Siehe den Pen Drop Away Nav von Chris Coyier (@chriscoyier) auf CodePen.

Der Toggle ist in diesem Fall ein Drei-Linien-Menü-Navicon, aber er könnte leicht "Mehr" sagen oder ein "+" oder was auch immer sein. Er wird auch mit JavaScript ausgelöst, könnte aber leicht JavaScript-frei sein, indem man den Checkbox-Hack verwendet.

Das Einzige, was mir an dieser Technik nicht gefällt, ist die feste Höhe. Das ist immer ein Warnsignal in CSS. Wenn Text beteiligt ist, wird es ein wenig wie eine magische Zahl. Das wird ein wenig dadurch gemildert, dass man es in em oder rem einstellen kann, so dass es mit zunehmendem Text zunimmt. Aber trotzdem.

Eine Alternative, wenn Sie mehr JavaScript in Kauf nehmen, wäre, die Breiten jedes Navigationselements zu summieren und mit der verfügbaren Breite zu vergleichen. Wenn die Summe zu hoch ist, verstecken Sie Menüelemente hinter dem Toggle, bis die restlichen passen.

Ben Callahan hat mir einige Beispiele in freier Wildbahn gezeigt. Hier ist eines auf NCSBN.org

Und Wonderful Machine

Luke Jacksonn hat eine Demo gemacht, die er "Greedy Navigation" nennt. Interessant, wie es weiß, wie viele Navigationselemente verborgen sind.

Siehe den Pen Greedy Navigation von lukejacksonn (@lukejacksonn) auf CodePen.

AWS implementiert das Muster ebenfalls, wie von Tom Horton implementiert

John Oxton King entwarf eine interessante Variante des Musters, die er "Infinite horizontal navigation" nannte

Es gibt die Meinung, dass The Guardian möglicherweise das erste Beispiel dafür war. Sehen Sie

Benutzen Sie es? Lieben Sie es? Hassen Sie es?