Questo tutorial ti introdurrà a Pure, una libreria CSS composta da piccoli moduli, che può aiutarti a scrivere layout completamente reattivi, in un modo molto semplice e veloce. Lungo la strada, ti guiderò attraverso la creazione di una semplice pagina per evidenziare come puoi utilizzare alcuni componenti della libreria.
Perché creare layout reattivi?
Negli ultimi anni nello sviluppo web, tre le parole che si susseguono continuamente sono: Responsive Web Design (RWD). A questo punto dovresti già sapere di cosa si tratta, ma, nel caso ti sia sfuggito, ecco alcune risorse per colmare le lacune:
Articoli su Tut di WebDesign+
Corsi su Tuts + Premium
Responsive Web Design di Ethan Marcotte
Ma la domanda è: perché diventare reattivi? La risposta è che non abbiamo alcun controllo su quale risoluzione verrà utilizzato il prossimo dispositivo quando visitano il nostro sito web. Non è più possibile visualizzare solo frasi come "Migliore visualizzazione a una risoluzione di 1024x768" (sebbene sia ancora possibile trovarle sul Web). Una delle ragioni principali di questo fenomeno è stata la crescita della larghezza dei monitor PC e anche la diffusione di dispositivi mobili connessi a Internet. Inoltre, in base a StatCounter, attualmente ~ il 16% degli utenti è connesso tramite un dispositivo mobile. Ora non sto dicendo questo RWD è solo una questione di ottimizzazione di un sito Web per una determinata dimensione dello schermo, ciò che voglio dire è che stiamo creando un'esperienza eccezionale per gli utenti che visitano il nostro sito Web indipendentemente dai dispositivi che stanno utilizzando.
Detto ciò, è anche chiaro che non tutti noi lavoriamo per un'azienda in cui ogni persona ha un singolo ruolo (designer, sviluppatore, tester e così via). Quindi, diciamo che sei uno sviluppatore solista, lavora come libero professionista e non sai molto del web design. Sono disponibili molte librerie che possono accelerare il flusso di lavoro. I più completi sono sicuramente Boostrap e Foundation, ma a volte possono essere eccessivi e potresti aver bisogno di qualcosa di più piccolo. In questi casi, un nuovo interessante progetto è stato lanciato da Yahoo, che possiamo usare, chiamato Pure.
Ciò che è puro?
Citando il sito web Pure, lo è un insieme di moduli CSS piccoli e reattivi che puoi usare in ogni progetto web. Come detto in precedenza, la libreria completa è davvero leggera, essendo solo 4.2KB minified e gzip, ma per mantenere il tuo sito web ancora più leggero, puoi includere solo alcuni dei moduli disponibili. Fondamentalmente, è composto dai seguenti moduli:
Base
Griglia
Le forme
pulsanti
tabelle
menu
Una delle cose che apprezzo molto di Pure è che è basata su Normalize.css, una libreria ben nota che rende gli elementi più coerenti e in linea con gli standard moderni e funziona anche con i browser più vecchi. Dal momento che è molto piccolo, non offre una soluzione completa a tutti i tuoi problemi, ma ha diversi elementi dell'interfaccia utente comuni predefiniti che puoi trovare in molti siti Web sul Web. Un'altra caratteristica interessante di Pure è che è altamente estensibile e personalizzabile. Gli autori hanno usato SMACSS per costruirlo e tutte le sue classi iniziano con puro-, così puoi facilmente riconoscerli.
Anche se Pure è un progetto interessante da considerare, tieni presente che è davvero nuovo e potrebbe non essere adatto per progetti di grandi dimensioni. In effetti, la versione corrente (0.2.0 al momento della stesura di questo articolo) presenta diversi problemi che probabilmente non si troveranno in framework più maturi e la sua documentazione potrebbe anche essere migliorata. Tuttavia, mi è piaciuto ed essendo un precursore, hai il vantaggio di studiare e imparare Pure, fin dall'inizio, che potrebbe finire per essere il prossimo progetto ben noto sul web.
Vediamo Pure in azione
Dicono che un'immagine vale più di mille parole. Per noi, come sviluppatori e designer, una demo con cui possiamo giocare è ancora meglio. Quindi, per vedere cosa può fare Pure per noi, creiamo un'app demo di base. La nostra demo consisterà in una semplice Homepage contenente alcune informazioni su di me (a volte la mia immaginazione mi spaventa). L'immagine sotto mostra come dovrebbe apparire il risultato finale su un grande schermo:
E l'immagine seguente, invece, ti mostra come apparirà su uno smartphone:
Passaggio 1: crea il menu orizzontale
Come ho detto, Pure ha diversi elementi comuni predefiniti che puoi trovare in molti siti web sul web. Un menu orizzontale è sicuramente uno di questi e ci darà la possibilità di dare un'occhiata ad alcune classi del modulo menu.
Per creare questo utilizzando HTML5, di solito abbiamo a elemento che racchiude una lista non ordinata che contiene i collegamenti principali del nostro sito web. Una volta creata la lista, dobbiamo visualizzarla in orizzontale. Per raggiungere questo obiettivo, dobbiamo applicare tre classi al wrapper lista (): .pure-menù, .puro-menu-aperto, e .puro-menu-orizzontale. La prima classe applica regole comuni a tutti i menu in Pure. Il .puro-menu-aperto la classe è usata per mostrare (invece di nascondere) gli elementi della lista, mentre il .puro-menu-orizzontale la classe è quella responsabile della visualizzazione degli elementi della lista sulla stessa riga. Si prega di notare che, per impostazione predefinita, il menu non è centrato.
Ora, per migliorare l'interfaccia utente, dovremmo evidenziare la voce dell'elenco che collega alla pagina corrente. Questo viene fatto applicando il .puro-menu-selezionato classe al elemento che vuoi evidenziare. In tal modo, il colore del testo passerà dal grigio al nero.
Il codice completo del nostro menu è visualizzato di seguito:
Passaggio 2: la descrizione dell'autore
Dopo il menu, puoi vedere che abbiamo una "riga" ideale che contiene sul lato sinistro, una foto e sul lato destro, una piccola descrizione di me. Questa "fila" è in realtà a griglia reattiva composto da due unità di griglia, dove la prima avvolge la foto e occupa il 25% del suo spazio, mentre la seconda avvolge la descrizione e occupa il restante 75%, purché la larghezza dello schermo sia maggiore di 767px. Al contrario, se la larghezza dello schermo è uguale o inferiore, le unità della griglia sono impilate e occupano il 100% della larghezza disponibile. Si noti che le unità hanno una larghezza del 100%, quindi se gli elementi al loro interno sono più piccoli di larghezza, occuperanno solo una parte dell'unità. Per vedere come funziona, prova a ridimensionare la finestra e nota come la foto non consuma il 100% della larghezza, mentre allo stesso tempo le unità della griglia sono impilate.
Come notato prima, Pure ha un modulo specifico per la gestione delle griglie. Per dichiarare una griglia reattiva, devi applicare al contenitore una classe chiamata .puro-g-r. Le unità della griglia, invece, condividono un nome simile, .pura-u - * - *, dove la parte finale della classe specifica quanto spazio occuperà l'unità data. Ad esempio, se si applica a un elemento il .puro-u-1-4 classe, riserva il 25% della larghezza disponibile, come ho fatto per la foto. Un altro esempio potrebbe essere .puro-u-2-3 che consentirà all'unità di occupare il 66,6% dello spazio della griglia.
Questo sistema di griglie è molto interessante perché può farti risparmiare molto tempo se non sai come gestirlo galleggiante, chiaro, e altre regole per creare layout. Inoltre, ti salveranno da ogni sofferenza nel gestire il lato sensibile del layout.
Detto questo, il codice che implementa la prima griglia dovrebbe assomigliare a questo:
Aurelio De Rosa
Sono uno sviluppatore italiano di applicazioni web e app che ha una laurea in Informatica e oltre 5 anni di esperienza nella programmazione per il web utilizzando HTML5, CSS3, JavaScript e PHP. Io uso principalmente il LAMPADA stack e framework come jQuery, jQuery Mobile e Cordova (PhoneGap). I miei interessi includono anche sicurezza web, accessibilità web, SEO e WordPress.
Attualmente sono un lavoratore autonomo che lavora con le tecnologie citate. Sono anche un blogger regolare per diverse reti (SitePoint, Tuts + e FlippinAwesome) dove scrivo articoli sugli argomenti con cui lavoro abitualmente e altro ancora.
Passaggio 3: la griglia di informazioni
La seconda e ultima griglia è divisa in tre parti uguali. Li ho creati per mostrarvi altri componenti della libreria, in modo da poterne avere una buona panoramica. Infatti, la prima unità ha una tabella, la seconda ha una forma e la terza ha un menu verticale.
Il codice seguente mostra come dividere la griglia in tre parti:
Ora, esploriamo ogni unità di questa griglia reattiva.
Passaggio 4: una tabella reattiva
Un altro dei moduli disponibili in Pure è Tabelle. Come dice il nome, contiene regole per lo stile a
elemento e i suoi figli. Per impostazione predefinita, le tabelle avranno un bordo verticale applicato a colonne visivamente separate. Tuttavia, puoi anche aggiungere un bordo orizzontale, applicando il .puro-table-delimitato classe o mostrare solo quest'ultimo utilizzando il .puro-table-orizzontale classe al
elemento. Inoltre, è anche possibile creare tabelle a strisce per aiutare l'utente nella lettura dei dati. Per raggiungere questo, hai due possibilità. Il primo funzionerà su browser che supportano nth-child e consiste nell'applicare il .puro-table a strisce nome di classe al
elemento. Il secondo, invece, funziona in tutti i browser, incluso Internet Explorer 8 e versioni precedenti, ma è più dettagliato. Consiste nell'aggiungere il .puro-table-dispari nome di classe a tutti gli altri
elemento. Per ragioni di compatibilità, vado per il secondo approccio.
Attualmente, le tabelle presentano un problema se visualizzate su schermi piccoli, ma verranno risolte nella prossima versione. Si prega di notare che non lo vedrete nella demo perché l'ho risolto. Il cinque per me.
Il codice che crea la tabella a strisce è mostrato di seguito:
Tabella dei prezzi divertente
Numero di ore
Prezzo (€)
Sicuro (%)
1
30 €
0%
5
135 €
10%
10
255 €
15%
20
480 €
20%
50
1050 €
30%
Passaggio 5: un modulo di contatto impilato
I moduli sono ancora un altro modulo della libreria Pure. Ti permette di mostrare le tue forme in diversi tipi di stili. In questa demo, creeremo un modulo sovrapposto, in cui gli elementi di input sono sotto le etichette. Per fare questo, dobbiamo aggiungere il .pura forma e il .puro-form-stacked classi al elemento. Quindi dobbiamo posizionare entrambi etichetta e il ingresso tag all'interno di un wrapper, dove applicheremo il .puro-control-group classe e poi metti tutti questi wrapper in a elemento. Anche l'invio e il pulsante di ripristino avranno un wrapper, ma il loro wrapper avrà la classe .puro-controlli. Si prega di notare che per il pulsante di invio, abbiamo utilizzato la classe .puro-button-primaria per evidenziarlo. La classe citata appartiene al modulo Buttons e viene utilizzata per modificare lo stile del pulsante, applicando un colore blu.
Ecco come dovrebbe apparire il tuo codice di forma:
Contattami
Passaggio 6: un menu verticale con un'intestazione
L'ultimo elemento che imparerai a creare, usando Pure, sarà un menu verticale con un'intestazione. Un menu di questo tipo è in stile con un bordo nero, tutto intorno. Per usarlo, applicheremo alla lista wrapper, due delle tre classi che abbiamo già usato nel primo passaggio, cioè .pure-menù e .puro-menu-aperto. Inoltre, per creare l'intestazione, dobbiamo aggiungere un altro elemento e applicare ad esso il .puro-menu-rubrica classe.
Il codice per questo menu è elencato di seguito:
Dove trovarmi
I miei profili
cinguettio
LinkedIn
GitHub
Google+
Conclusione
Quindi completa questa introduzione a Pure. Spero ti sia piaciuto. Se desideri seguire lo sviluppo di Pure, puoi visitare il suo repository su GitHub. Sentiti libero di inviare problemi, inviare richieste di pull e contribuire.