Costruisci una barra di navigazione off-top con Foundation 5


In un precedente tutorial, abbiamo imparato come personalizzare la barra in alto della Foundation 4 usando i CSS. Da allora ZURB ha rilasciato Foundation 5; più veloce, più snella e più potente del suo predecessore. Ciò che è anche evidente è che ZURB ha riportato la funzionalità Off Canvas, che può essere trovata in Foundation 3.

Oggi combineremo la funzione di stampa su tela con la nostra barra di navigazione superiore. Il risultato sarà una buona navigazione personalizzata per gli utenti desktop e un elegante menu off -canvas per tablet e utenti mobili.

Nota: La funzionalità che usiamo qui non funziona per IE8 e inferiori. Ho incluso una correzione per IE9 nelle risorse elencate alla fine del tutorial.

Requisiti

Per seguire questo tutorial avrai bisogno di un'esperienza intermedia nel modo seguente:

  • Comprensione di base di Foundation e The Grid System
  • Conoscenza del lavoro con un progetto Sass e Compass Foundation

Iniziare

Impostazione dell'ambiente

Se non lo hai già fatto, vai avanti e configura Compass e Sass usando la documentazione di Foundation Sass se hai bisogno di indicazioni. Se lo hai già fatto, ecco la configurazione rapida per la creazione di un nuovo progetto Foundation 5 utilizzando il prompt dei comandi:

Prompt dei comandi Ruby

Vai alla tua directory preferita

cd c: / user / your-working-environment

Usa questo comando per creare il tuo progetto

fondazione nuovo tuo-progetto

Vai al tuo file di progetto appena creato

cd tuo-progetto

E usa questo comando per fare in modo che la bussola guardi e compili i tuoi file Sass

orologio da bussola

Se tutto è andato a buon fine, la tua directory dovrebbe apparire in questo modo:

Directory di progetto della Fondazione 5

Rimane solo una cosa e cioè creare il nostro style.scss. Fatelo creando un nuovo file nella cartella scss e nominando il file style.scss. Avremo bisogno di questo file più tardi. Se hai Compass in esecuzione, il tuo style.scss dovrebbe già essere compilato su astyle.cssfile nella cartella dei fogli di stile. Bene, abbiamo tutto configurato, iniziamo con la codifica della nostra struttura HTML generale.

Impostazione della struttura HTML

Passaggio 1: Markup generale

Apri il tuo index.html e rimuovi tutto il contenuto tra i tag del corpo, ad eccezione degli script appena prima del . Abbiamo bisogno che tutte le funzioni della Fondazione funzionino. In secondo luogo, andare avanti e aggiungere la seguente riga di codice nel file , per essere sicuri di caricare nel nostro file CSS.

Con questa configurazione, aggiungiamo un paio di sezioni e forniamo alla nostra pagina alcuni contenuti fittizi. Inizieremo con alcune nozioni di base, aggiungendo un'intestazione, un main, un servizio, una call to action, un footer e una sezione sul copyright.

  

Menu di base 5 Topbar / Offcanvas

Spostamento per il popolo Offcanvas!

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae, meno molestias dolores blanditiis esse? Quam, accusamus, quo, eum, ipsum voluptatibus aliquam perspiciatis qui porro est sit eligendi suscipit. Expedita, eligendi, laboriosam animi itaque accusantium repudiandae dicta ullam quia ipsum amet quam nesciunt non! Porro, fuga molestiae quaerat accusantium nesciunt omnis.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vero, minimi, quidem repellendus agevolis dignissimos laboriosam doloribus sequi tempora iusto facere maxime quasi est ex qui commodi nobis aliquido id eus magnam consectetur. Ut deserunt repellat asperiores dolores odio! Incidunt, esse, distinti modi ratione facilis iusto tempora saepe nisi nostrum culpa velit eaque quos dolore repellat facere accusamus architecto iure simile numquam autem asperiores errore cumque eum. Dolore, minimi aspernatur autem eaque ipsa officiis rem! Suscipit, esse, quos. Quos, perferendis, iure nobis modi perspiciatis enim error nulla asperiores dignissimos harum. Dolor, non rem in nobis illum id hic laboriosam blanditiis aliquido!

Servizio # 1

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus, veniam, asperiores fugit quas quaerat soluta in quibusdam placeat incidunt suscipit esse neque quisquam eaque rem!

Servizio # 3

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, nihil nemo tempore voluptatum veritatis corrupti id doloremque. Saepe, in sequenza voluptatem impedit rem omnis aliquam?

Servizio # 3

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptate ducimus aut commodi eius! Sequi, magni labore e iusto quibusdam autem repellendus ipsum dolorem quasi maxime!

Mettetevi in ​​contatto con noi!

Fondazione

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus, veniam, asperiores fugit quas quaerat soluta in quibusdam placeat incidunt suscipit esse neque quisquam eaque rem!

Fondazione

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus, veniam, asperiores fugit quas quaerat soluta in quibusdam placeat incidunt suscipit esse neque quisquam eaque rem!

Fondazione

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Natus, veniam, asperiores fugit quas quaerat soluta in quibusdam placeat incidunt suscipit esse neque quisquam eaque rem!

© 2014

Qui abbiamo aggiunto una sezione di intestazione con un logo, quindi una sezione principale divisa nella sezione del contenuto, tre servizi e un invito all'azione. Infine c'è una sezione del footer con tre colonne e una sezione sul copyright. Marcatura straight-forward finora, passiamo alla barra in alto!

Passaggio 2: Top bar markup

Stiamo andando a fasciare la nostra barra superiore all'interno di una sezione con la classe navigazione sezione, per scopi di stile. Daremo anche a questa sezione un'altra classe: show-per-large-up. Ciò garantisce che la barra superiore venga visualizzata solo per i dispositivi con una larghezza minima e superiore. Questo è uno dei tanti Classi di visibilità che Foundation ci fornisce (puoi leggere di più su questi nella documentazione del componente Foundation). Ora per il markup:

 

Nota: Includi la barra dei dati nella tua nav. In questo modo ci assicuriamo che JavaScript per la nostra barra superiore funzioni correttamente (ad esempio il menu a discesa, ad esempio).

Passaggio 3: markup fuori area

Il nostro menu fuori dalla tela sarà nascosto oltre i confini della finestra. Nel momento in cui premiamo menu, Offcanvas scorrerà (dalla sinistra nel nostro caso) e sposterà il contenuto della pagina verso destra. Nel nostro setup andremo a escluderel'intestazione e il piè di pagina in questo movimento. Solo l'area del contenuto verrà spostata a parte, lasciando l'intestazione e il piè di pagina in posizione. 

Inoltre, quando scorri verso il basso, la nostra intestazione (che può contenere un logo e forse altri contenuti), apparirà fissa in cima alla pagina (Nota: La pagina dovrebbe contenere abbastanza contenuti per far funzionare tutto, perché altrimenti la sezione del footer potrebbe anche fluttuare sopra il nostro menu di Offcanvas). Ciò significa che dobbiamo "avvolgere" la parte off-canvas attorno alla nostra sezione di contenuto principale. Dopo la navigazione nella barra superioresezione e prima della nostra sezione del contenuto principale, inserisci il seguente codice HTML:

 

Scopriamolo. Abbiamo creato due elementi div; uno con la classe off-canvas-wrap e uno con la classe interno-wrap.  L'off-canvas-wrap nasconde il nostro contenuto fino a quando non viene premuto il pulsante del menu. Ill'involucro interno contiene la barra dei menu di navigazione, il menu laterale sinistro e la sezione del contenuto principale. Abbiamo dato al nav una classe di nascondere-per-large-up, per assicurarsi che mostri solo per dispositivi di set medio e piccolo. Dando a parte una classe di sinistra-off-tele-menù, ci assicuriamo che il nostro menu fuori quadro appaia sulla sinistra dello schermo. Le voci di menu nel nostro menu non in linea sono simili alla barra superiore. Per l'off-canvas utilizziamo una lista non ordinata con una classe di off-canvas-list per far succedere la magia.

Tutto quello che resta da fare è dare all'utente un modo per chiudere il menu di Offcanvas. Dopo ciò chiudiamo il off-canvas-wrap e il interno-wrap div. Aggiungilo subito dopo aver chiuso la sezione principale.

   

Step 4: Risultati fino ad ora

Apriamo il nostro browser e individuiamo il file index.html che abbiamo appena modificato. Il risultato dovrebbe apparire come gli screenshot qui sotto (provalo, ridimensiona il tuo browser!)

Topbar HTMLHTML Offcanvas

Impostazione di Sass

Bene, abbiamo una barra superiore perfettamente funzionante per gli utenti desktop e un menu bello, elegante e fuori dal comune per gli utenti di dispositivi più piccoli come tablet e telefoni. Tuttavia, la nostra pagina non sembra ancora una vera pagina web, quindi andiamo avanti e aggiungiamo un po 'di sapore ad esso.

Passo 1: stile generale

Innanzitutto, daremo un po 'di colore alle sezioni generali (intestazione, navigazione, main, footer e copyright). Daremo anche al nostro corpo un sottile colore di sfondo e faremo un intera larghezza classe per avere la larghezza impostata al 100%. Nell'HTML abbiamo aggiunto quella classe a larghezza intera alle diverse sezioni, per assicurarci che si estendano fino ai bordi del browser. Dai un'occhiata al Sass qui sotto:

body background-color: # f1f1f1;  .full-wdith larghezza minima: 100%;  header background: url ('... /images/stary-bg.png') # 074e68; altezza minima: 175 px; h1 color: #fff; padding-top: 50px;  .navigation-section background-color: # 333; .top-bar li text-transform: maiuscolo;  .main-section padding: 30px 0 25px 0;  footer background-color: # 074e68; imbottitura: 50px 0 40px 0; h4, p color: #fff;  .copyright-section background-color: # 333; colore: #fff; padding: 25px 0 0 0; 

Nota: Per aggiungere Starry BG, scarica i file sorgente!

Abbiamo dato al nostro design un po 'più di respiro aggiungendo delle imbottiture e realizzato un disegno a tutta larghezza dando a tutte le sezioni un colore di sfondo e una larghezza minima del 100%. Abbiamo anche dato alle voci del menu una trasformazione testo maiuscola.

Passaggio 2: stili della barra superiore con _settings.scss

Per modellare la nostra barra in alto, tuffiamoci nel file _settings.scss. A seconda dell'editor di codice che stai usando, usa il trova opzione e digitare "Topbar". Qui puoi trovare tutte le impostazioni per modificare la barra superiore standard. Per questo tutorial, useremo due diverse opzioni; uno per dare la nostra barra in alto un po 'più di altezza e un altro per aumentare un po' la dimensione del carattere. Decommentare e modificare le seguenti due impostazioni:

$ topbar-height: 65px; $ topbar-link-font-size: rem-calc (15);

Passaggio 3: Stili fuori bordo utilizzando _setting.scss

Utilizzeremo anche il file delle impostazioni per regolare il nostro menu fuori bordo. Il markup standard non è così bello, ma assicuriamoci che la sezione nav sia della stessa altezza della sezione nav della nostra barra superiore. In aggiunta a ciò, dovremo spostare il Hamburger iconaun po ', quindi rimane centrato dall'alto. Nel file delle impostazioni, trova e digita "Off-canvas". Decommentare e modificare le seguenti due impostazioni:

$ tabbar-height: rem-calc (65); $ tabbar-hamburger-icon-top: rem-calc (16);

Passaggio 4: goditi i tuoi risultati

Salva il file, lascia che la bussola compili i tuoi file e aggiorni il browser. Ora la nostra pagina ha un po 'più di succo e tutto è alimentato dall'ottima barra superiore e dalla tela! I risultati dovrebbero assomigliare a questo:

Sass Top BarSass Offcanavs

Conclusione

Abbiamo creato una pagina simpatica e reattiva usando la barra superiore e il canvas fuori dalla Fondazione, aggiungendo un piccolo stile Sass per dargli un po 'di succo e tweeking la pagina usando il file _settings.scss. 

Ovviamente, possiamo fare molto di più con il _settings.scss che ho appena dimostrato. Vai avanti e gioca con le impostazioni per vedere con quanta facilità puoi personalizzare gli elementi di Foundation nel tuo sito, o provale in questa demo per personalizzare ulteriormente la barra superiore / il menu di sfondo. Divertiti!

Rescources

  • Correzione IE9 sui forum della Fondazione
  • Sass e Foundation
  • Classi di visibilità della Fondazione
  • Componente fuori tela di base
  • Componente della barra superiore di fondazione