#054: Tippen-zu-Anzeigen-Mobile-Navigation

Wir haben einen guten Anfang beim responsiven Design gemacht. Das Menü bricht bei den kleinsten Bildschirmgrößen in ein 2×4-Raster zusammen. Es passt gut auf den Bildschirm, aber zwischen dem und dem Branding nimmt es sehr viel Platz ein. Wir öffnen es im iOS-Simulator und sehen, dass in einigen Fällen überhaupt kein eigentlicher Inhalt sichtbar ist.

Wir schauen uns einige Ressourcen zur Navigation an, wie den Artikel von Brad Frost Responsive Navigation Patterns und Jason Weavers Off Canvas. Wir schauen uns auch eine coole Demo auf MDN namens Paperfold an.

Wir fügen der Navigation einen zusätzlichen Link hinzu, den wir schließlich „Navigation 'n' Search“ nennen, der als Button zum Anzeigen der mobilen Navigation beim Antippen dient. Über Media Query Breakpoints blenden wir diesen Button nach Bedarf ein und aus.

Das Umschalten der Navigation werden wir hauptsächlich mit JavaScript handhaben. Ein wenig riskant, da es diejenigen auf kleinen Bildschirmen mit deaktiviertem JavaScript verärgert – aber ich mache es trotzdem. Diese Zahl ist so klein (kleiner als Desktop ohne JavaScript, was sicherlich weniger als 1% ist), dass ich einfach ein Idiot bin und damit weitermache.

Alles, was wir mit JavaScript wirklich tun, ist das Umschalten eines Klassennamens. Das ist es, was ich als zustandsgesteuerte CSS-Entwicklung bezeichne. Die gesamte Steuerung, was wann und wie angezeigt wird, wird mit CSS gehandhabt. JavaScript setzt nur eine Klasse, um den aktuellen Zustand zu deklarieren.

Wir verbringen viel Zeit damit, das „Paperfold“-CSS hinzuzufügen, es richtig zum Laufen zu bringen und dann die Suche in eine Lücke zu platzieren, die wir über dem Hauptinhalt durch etwas Padding schaffen.

Schließlich wird die Größe und Position angepasst, um noch besser zu passen, und ein kleiner Schließen-Button wird hinzugefügt. Ich spiele in meinem Kopf mit der Bereitstellung von UI zum Umschalten von Zuständen bei Dingen wie diesen. Einerseits, jetzt wo der Benutzer die Navigation angezeigt hat, warum sollte er sie schließen müssen? Er hat sie bereits gesehen. Wenn er sie nicht benutzen will, kann er einfach daran vorbeiwischen. Andererseits finde ich es ziemlich nervig, wenn ich Zustände bei anderen Apps (aus irgendeinem Grund) nicht so umschalten kann, daher neige ich dazu, einen Mechanismus dafür bereitzustellen.