Un tour Whistle-stop del framework UIkit

Mentre Bootstrap e Foundation potrebbero essere i due framework front-end più popolari tra i web designer, in questo articolo ho intenzione di presentarvi le caratteristiche di UIkit, un framework front-end leggero e modulare che utilizzo in quasi tutti i miei progetti.

Nota: Questo articolo presume che tu abbia familiarità con il funzionamento dei framework front-end. Inoltre, l'obiettivo principale di questo articolo non è quello di coprire estesamente singole parti di questo quadro (ad esempio il sistema di griglia). Invece ci concentreremo sulla presentazione breve di diverse utili funzionalità di UIkit. 

Iniziare

UIkit è costruito e gestito da YOOtheme, un'azienda tedesca specializzata nella creazione di temi e applicazioni per il web.

Come scaricare UIkit

Ci sono alcune diverse opzioni disponibili per includere UIkit nei tuoi progetti. Puoi utilizzare un gestore di pacchetti come Bower, una rete di distribuzione del contenuto come cdnjs, oppure puoi scaricarlo manualmente dalla sua pagina GitHub. Nota che UIkit richiede jQuery, quindi assicurati di averlo incluso nei tuoi progetti.

Per gli scopi di questo tutorial, useremo cdnjs per estrarre i file UIkit richiesti nelle demo di CodePen. Il più delle volte, per semplicità, dovremo includere il uikit.min.css e uikit.min.js File. Negli ultimi due esempi, però, aggiungeremo anche alcuni file aggiuntivi che non sono inclusi nel framework principale. Tieni presente che UIkit è modulare, permettendoci di caricare solo i file effettivamente necessari. 

Puoi conoscere la struttura di UIkit in questa pagina. 

Personalizzazione di UIkit

Il framework è completamente personalizzabile. Prima del download, siamo in grado di sovrascrivere i suoi stili predefiniti e applicarne di nostri. Ad esempio, se vogliamo modificare i punti di interruzione predefiniti, possiamo visitare la pagina di personalizzazione e controllare il Modalità avanzata opzione. Da lì, troviamo il I punti di interruzione sezione e aggiungere i nostri nuovi punti di interruzione. Quindi, otteniamo il file CSS appena generato.

Supporto del browser

UIkit funziona in tutti i browser recenti, in particolare: 

Immagine tratta dalla pagina GitHub di UIkit

Funzionalità UIkit utili 

È giunto il momento di esplorare alcune utili funzionalità di UIkit che potresti voler utilizzare in uno dei tuoi prossimi progetti! 

Flexbox e Griglie

UIkit fornisce i componenti Grid e Flex per creare layout reattivi. Per capire meglio come funzionano questi componenti, creiamo un layout semplice. Prima di farlo, dobbiamo aggiungere il uikit.min.css file per il nostro esempio. 

Ecco i requisiti:

  • Nelle finestre fino a 767 px di larghezza, tutte le colonne sono impilate verticalmente.
  • Nelle finestre più larghe di 767px, le larghezze della prima e della terza colonna sono il 25% della larghezza genitore, mentre la larghezza della seconda colonna è il 50% della larghezza genitore.

 Il markup si presenta così:

Notare il .carta elementi all'interno delle nostre colonne. Per ragioni stilistiche, applicheremo alcuni stili di base:

.card background: # e0e0e0; imbottitura: 10px; margin-top: 35px; 

Ecco la demo di Codepen:

Come puoi vedere dalla demo sopra (quando la larghezza della vista è maggiore di 767px), il .carta gli elementi non riempiono l'intera altezza del genitore. Supponiamo che vogliamo farlo accadere. 

Una soluzione rapida potrebbe essere quella di fornire elementi target altezza: 100%, destra? Tuttavia, questo non funziona in alcuni browser (ad esempio Safari), quindi dobbiamo abbandonare tale approccio e cercare un'alternativa. Un trucco è definire le colonne come contenitori flessibili dando loro la classe uk-flex. Quindi ora se testiamo di nuovo la pagina, vedremo che il .carta gli elementi ereditano l'altezza genitore. Se si desidera ottenere ulteriori informazioni sul motivo per cui la soluzione funziona, si consiglia di guardare questo thread Overflow dello stack.

Ecco la demo aggiornata:

Creazione di animazioni basate su scorrimento

Se sei un fan delle animazioni basate su scroll apprezzerai sicuramente il componente Scrollspy di UIkit. Questo componente ci consente di attivare animazioni ed eventi mentre scorri su e giù per la pagina. Vediamo un esempio dal vivo per capire come funziona.

Per questo esempio, includeremo il uikit.min.css e uikit.min.js file nel nostro progetto. 

La struttura del codice è simile all'esempio precedente. Il nostro obiettivo qui è di attivare diverse animazioni quando gli elementi con la classe di blu (in totale cinque elementi) entra nel viewport. Per implementare questo comportamento, aggiungiamo il Dati-uk-scrollspy attributo agli elementi di destinazione; il loro valore è un oggetto configurabile che controlla l'animazione effettiva. Ad esempio, il cls la proprietà dell'oggetto memorizza il tipo di animazione:


Una parte del markup richiesto è mostrato di seguito:

Ecco la demo Codepen corrispondente:

Manipolazione di SVG

UIkit fornisce un modo pratico per controllare l'aspetto degli SVG. Invece di gonfiare il nostro HTML con gli SVG in linea, possiamo usarlo img tag per caricare i nostri SVG, quindi aggiungere il Dati-uk-svg attributo a quei tag. In questo modo, le immagini vengono convertite in SVG in linea che possiamo manipolare in seguito. Questo comportamento è possibile se aggiungiamo il uikit.min.js file al nostro progetto.

Il markup per un SVG è semplice come segue:


Ora nel CSS, siamo in grado di personalizzarlo. Ad esempio, nel nostro caso cambiamo alcuni stili di base:

svg width: 100px; altezza: auto; riempire: marrone; 

La demo di Codepen:

Immagini di sfondo reattive

Ci sono momenti in cui vogliamo che un'immagine di sfondo adotti il ​​comportamento reattivo di un img etichetta. Per fare ciò, possiamo sfruttare il componente Cover di UIkit. Quindi, per prima cosa aggiungiamo il uk-invisibile classe a un img tag e quindi racchiuderlo all'interno di un elemento padre con la classe di uk-cover-sfondo. Successivamente, facoltativamente, possiamo utilizzare i componenti Utility e Flex per posizionare il contenuto in cima all'immagine di sfondo.

Affinché questo funzioni, dobbiamo includere il uikit.min.css file nel nostro progetto.

Con questo in mente, per creare un'immagine di sfondo reattiva con contenuti verticalmente e orizzontalmente centrati al suo interno, avremo bisogno di HTML che assomigli a questo:

Nel nostro CSS, ora dobbiamo specificare l'immagine di sfondo per il genitore principale (ovviamente possiamo anche aggiungere un'immagine di sfondo in linea):

div.uk-cover-background background-image: url (IMAGE_PATH); 

Questo ci dà il seguente risultato:

Creazione di sovrapposizioni

UIkit fornisce il componente Overlay per aiutare a costruire sovrapposizioni di immagini. La cosa veramente bella di questo componente è che queste sovrapposizioni sono disponibili in diversi stili con molte opzioni interessanti.

Per questo comportamento, l'unico file richiesto è uikit.min.css.   Di seguito è riportato un esempio del markup richiesto per la creazione di quattro overlay:

Non abbiate paura del codice qui sopra. La maggior parte è dovuta a una serie di classi di supporto che abbiamo aggiunto alle nostre immagini. Per una migliore comprensione, assicurarsi di leggere la documentazione per questo componente.

Ecco la demo di Codepen integrata:

Creazione di presentazioni a schermo intero reattive

Uno dei componenti UIkit più interessanti è il componente Slideshow. Questo ci permette di creare (vedi se puoi indovinare) belle presentazioni reattive. Per dimostrarlo, costruiamo uno slideshow reattivo a tutta larghezza.

Ecco i file UIkit di cui avremo bisogno:

  • uikit.min.css
  • slideshow.min.css
  • slidenav.min.css
  • uikit.min.js
  • slideshow.min.js

Il codice per la presentazione è il seguente:

Vale la pena menzionare due cose qui:

  • Il valore del Dati-uk-presentazione attributo è un oggetto configurabile che determina l'aspetto della nostra presentazione. 
  • Mentre passiamo il mouse su una diapositiva, compaiono le frecce di navigazione. Questo è qualcosa di opzionale e l'abbiamo raggiunto grazie al componente Slidenav. Allo stesso modo, avremmo potuto utilizzare il componente Dotnav per generare una navigazione a punti.

Dai un'occhiata alla relativa demo di Codepen qui sotto:

Creazione di intestazioni adesive

Un altro componente utile è il componente Sticky. Vediamolo in azione creando un'intestazione appiccicosa.

Di nuovo, ecco i file UIkit richiesti:

  • uikit.min.css
  • sticky.min.css
  • uikit.min.js
  • sticky.min.js

Nel nostro markup, aggiungiamo il Dati-uk-appiccicoso attributo al intestazione elemento. Inoltre, solo per ragioni stilistiche, usiamo il componente navbar per costruire la barra di navigazione. 

Ecco parte del codice HTML:

 

Per questo esempio, non passiamo alcun valore a Dati-uk-appiccicoso attributo. Ma se vogliamo personalizzare il comportamento predefinito dell'elemento sticky, dobbiamo modificare l'oggetto che è passato come valore a questo attributo.  

La demo Codepen relativa:

Conclusione

Spero vi sia piaciuto questo breve tour di whistle stop di UIkit e ho tolto un'idea di cosa possiamo costruire con questo fantastico framework. Naturalmente, ci sono tanti altri fantastici componenti disponibili in cui non ci siamo tuffati, quindi ti incoraggio a guardare oltre te stesso. Ultimo ma non meno importante, una nuova versione di UIkit (v.3) verrà lanciata nei prossimi mesi con funzionalità ancora più interessanti. Rimanete sintonizzati!

Se avete domande su UIkit, fatemelo sapere nei commenti qui sotto.