I modelli SVG offrono un approccio più flessibile alla ripetizione di un'immagine di sfondo su una pagina Web rispetto alla piastrellatura CSS. Vediamo perché è così, e come puoi usarli.
Questo tutorial è disponibile sia in formato video che testuale: ecco una panoramica di ciò che imparerai:
Iniziamo verificando la piastrellatura CSS, il metodo più tradizionale di ripetere un'immagine per uno sfondo. L'idea è semplice: passiamo un URL al sfondo
proprietà dell'elemento che vogliamo coprire. L'URL punta a un file immagine, in questo caso un file PNG. Di default la nostra immagine si ripeterà lungo entrambi gli assi.
body background: url ("cuadros.png");
Ecco come appare:
Diamo ora uno sguardo ai pattern SVG, qualcosa che, una volta incontrato, è un po 'più difficile da capire. Inizieremo codificando a mano un esempio.
Per un aggiornamento su come codificare manualmente tutte le varie parti di un file SVG, questi due tutorial per principianti di Kezz Bracey sono davvero utili:
Per iniziare, creeremo un elemento svg, dandogli un'altezza e una larghezza del 100% in modo che occupi tutto il contenitore in cui lo posizioniamo.
Per creare un modello
dobbiamo metterlo nel defs
(definizioni) della sezione svg, così:
Ora aggiungiamo alcuni attributi a quell'elemento del modello. Daremo un ID in modo che possiamo fare riferimento in un secondo momento, quindi specificheremo le coordinate X e Y, i valori di larghezza e altezza e dichiareremo che il patternUnits
siamo userSpaceOnUse
(questo definisce il sistema di coordinate, che puoi leggere di più su MDN):
Avendo impostato questi parametri, ora dobbiamo definire l'immagine che si ripeterà. Creiamo un cerchio di base:
Nessun modello sarà ancora visibile, ma è perché l'abbiamo definito senza realmente l'applicazione a qualsiasi cosa. Cambiamolo applicandolo a a
fuori dal nostro
.
Fondamentalmente, vedrai il riempire
l'attributo (che di solito può essere un valore o un nome di colore) punta a un URL contenente l'ID del modello appena definito: riempire = "URL (# pois)"
.
Dai un'occhiata alla demo qui sotto:
Per un esempio più complesso, lasceremo indietro la codifica manuale e genereremo un pattern utilizzando uno strumento di terze parti. Useremo heropatterns.com, un sito Web che ti consente di selezionare pattern SVG predefiniti, modificare i loro colori e attributi, quindi copiare il codice generato.
Userò il motivo del puzzle:
Invece di copiare il CSS generato nella sua interezza, ho intenzione di copiare solo il d = ""
parametro, che è il percorso reale disegnato.
Il codice svg che abbiamo impostato sarà quasi identico al nostro esempio precedente. L'ID all'interno del
sarà diverso, naturalmente, e gli daremo dimensioni leggermente diverse a seconda di ciò che viene usato su heropatterns.
Quindi, dove, nel nostro ultimo esempio, abbiamo definito a
, questa volta definiamo a
. Gli diamo un colore di riempimento, quindi incolliamo nel percorso che abbiamo copiato un momento fa. Questo è ciò che ci dà:
Pros professionisti della piastrellatura CSS:
😡 Contro piastrellatura CSS:
😀 Pro SVG pattern:
😡 Contro pattern SVG:
Dai uno sguardo a queste quattro risorse, che possono essere davvero utili per generare codice reale e idee!
SVG è una tecnologia ampiamente supportata, anche nei browser più vecchi come IE9. Alcune funzionalità SVG, tuttavia, non godono del supporto a tal punto e non ci sono molte informazioni disponibili per le specifiche di
proprietà (come patternUnits
, patternContentUnits
, patternTransform
eccetera.). Di seguito sono riportati alcuni link utili, tra cui la documentazione di Mozilla: ti daranno un'idea di quali informazioni sono attualmente disponibili.
Dalle mie prove posso dirti che i moderni browser sia su Windows che su Mac OS hanno tutti a che fare con i modelli SVG. Anche fino a IE11.
Riassumiamo i punti chiave di questo tutorial.
defs
, assicurati che abbia un ID, quindi fai riferimento a quell'ID nella forma scelta.