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.
UIkit è costruito e gestito da YOOtheme, un'azienda tedesca specializzata nella creazione di temi e applicazioni per il web.
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.
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.
UIkit funziona in tutti i browser recenti, in particolare:
Immagine tratta dalla pagina GitHub di UIkitÈ giunto il momento di esplorare alcune utili funzionalità di UIkit che potresti voler utilizzare in uno dei tuoi prossimi progetti!
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:
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:
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: UIkit fornisce un modo pratico per controllare l'aspetto degli SVG. Invece di gonfiare il nostro HTML con gli SVG in linea, possiamo usarlo 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: La demo di Codepen: Ci sono momenti in cui vogliamo che un'immagine di sfondo adotti il comportamento reattivo di un Affinché questo funzioni, dobbiamo includere il 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): Questo ci dà il seguente risultato: 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 è 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: 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: Il codice per la presentazione è il seguente: Vale la pena menzionare due cose qui: Dai un'occhiata alla relativa demo di Codepen qui sotto: Un altro componente utile è il componente Sticky. Vediamolo in azione creando un'intestazione appiccicosa. Di nuovo, ecco i file UIkit richiesti: Nel nostro markup, aggiungiamo il Ecco parte del codice HTML: Per questo esempio, non passiamo alcun valore a La demo Codepen relativa: 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.Manipolazione di SVG
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.svg width: 100px; altezza: auto; riempire: marrone;
Immagini di sfondo reattive
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.uikit.min.css
file nel nostro progetto.div.uk-cover-background background-image: url (IMAGE_PATH);
Creazione di sovrapposizioni
uikit.min.css
. Di seguito è riportato un esempio del markup richiesto per la creazione di quattro overlay:Creazione di presentazioni a schermo intero reattive
uikit.min.css
slideshow.min.css
slidenav.min.css
uikit.min.js
slideshow.min.js
Dati-uk-presentazione
attributo è un oggetto configurabile che determina l'aspetto della nostra presentazione. Creazione di intestazioni adesive
uikit.min.css
sticky.min.css
uikit.min.js
sticky.min.js
Dati-uk-appiccicoso
attributo al intestazione
elemento. Inoltre, solo per ragioni stilistiche, usiamo il componente navbar per costruire la barra di navigazione.
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. Conclusione