HTML Academy · Lezione

viewBox SVG e ridimensionamento responsive

Fare in modo che gli SVG si ridimensionino correttamente su qualsiasi schermo

Lezione 3 di 413 passaggi

viewBox SVG e ridimensionamento responsive è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.

width e height rispetto a viewBox

width e height di SVG impostano le dimensioni visualizzate nel DOM. L'attributo viewBox definisce lo spazio delle coordinate interno. Sono indipendenti: un viewBox di «0 0 100 100» con width="200" height="200" ridimensiona lo spazio delle coordinate di 2x.

Sintassi di viewBox

viewBox="min-x min-y width height". Il caso più comune è: viewBox="0 0 100 100" definisce uno spazio delle coordinate di 100x100 che parte dall'origine. I valori delle coordinate nell'SVG fanno riferimento a questo spazio, non ai pixel.

SVG responsive

Per ottenere un SVG responsive, omettete gli attributi width e height oppure impostateli su 100% e lasciate che viewBox definisca le proporzioni. Aggiungete il CSS: svg { width: 100%; height: auto; }. L'SVG si ridimensiona per adattarsi al contenitore mantenendo le proporzioni.

preserveAspectRatio

preserveAspectRatio controlla il modo in cui viewBox si adatta al viewport SVG quando le proporzioni differiscono. Valori: «xMidYMid meet» (predefinito: effetto letterbox), «xMidYMid slice» (ritaglio per riempire), «none» (adattamento senza mantenere le proporzioni).

min-x e min-y per il panning

La modifica di min-x e min-y sposta la porzione visibile dello spazio delle coordinate SVG. viewBox="50 50 100 100" mostra la regione da (50,50) a (150,150). Ciò consente il panning interattivo aggiornando i valori di viewBox con JavaScript.

Zoom con viewBox

Riducete le dimensioni di viewBox per ingrandire: viewBox="25 25 50 50" mostra una regione più piccola, ingrandita fino a riempire l'elemento SVG. Aumentate le dimensioni per ridurre lo zoom. Aggiornate viewBox negli eventi wheel per ottenere uno zoom interattivo senza ridimensionare l'elemento SVG.

SVG in img rispetto a SVG inline

SVG in un tag img: si ridimensiona in modo responsive con object-fit, ma non può essere stilizzato con CSS né controllato tramite script. SVG inline: è completamente accessibile a CSS e JavaScript, ma aumenta le dimensioni dell'HTML. Scegliete in base alle esigenze di interattività.

Schema per icone SVG

Gli SVG per icone utilizzano un viewBox fisso, ad esempio «0 0 24 24», e nessun width/height, consentendo al CSS di dimensionarli: .icon { width: 1.5rem; height: 1.5rem; }. viewBox garantisce che le icone si ridimensionino correttamente a qualsiasi dimensione mantenendo una resa vettoriale nitida.

symbol per gli sprite di icone

Definite le icone in elementi <symbol viewBox="0 0 24 24"> all'interno di un SVG nascosto. Fatevi riferimento con <use href="#icon-name">. Ogni elemento use può avere width, height, fill e color propri: un solo file sprite per tutte le icone.

currentColor per la tematizzazione

SVG fill="currentColor" eredita la proprietà CSS color dall'elemento o dal suo genitore. Impostate color: red sull'SVG o su un genitore e l'icona verrà riempita automaticamente di rosso. In questo modo le icone a un solo colore seguono il colore del testo senza uno stile specifico per SVG.

Debug di viewBox

Se il contenuto SVG appare ritagliato o posizionato in modo imprevisto, registrate o esaminate il valore di viewBox. Un errore comune consiste nell'impostare viewBox sulle dimensioni in pixel dell'illustrazione originale senza adattarlo alle dimensioni visualizzate, causando problemi di ridimensionamento. Verificate che viewBox corrisponda ai limiti effettivi del contenuto dell'illustrazione SVG.

Verifica delle conoscenze

Come si fa a rendere un SVG responsive, così che si adatti alla larghezza di qualsiasi contenitore?

Riepilogo

viewBox di SVG definisce uno spazio delle coordinate interno indipendente dalle dimensioni visualizzate in pixel, consentendo un ridimensionamento responsive. Impostando width:100%; height:auto insieme a un viewBox, gli SVG si adattano a qualsiasi contenitore. Lo schema di sprite symbol+use, la tematizzazione con currentColor e preserveAspectRatio completano un insieme di strumenti per utilizzare SVG flessibili e tematizzabili.

Gratis per iniziare

Impara HTML con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
40
Lezioni
159

Domande Frequenti

La lezione «viewBox SVG e ridimensionamento responsive» è gratuita?

Sì — il testo completo di «viewBox SVG e ridimensionamento responsive» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.

Cosa imparerò in «viewBox SVG e ridimensionamento responsive»?

Fare in modo che gli SVG si ridimensionino correttamente su qualsiasi schermo Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare HTML Academy?

Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «viewBox SVG e ridimensionamento responsive»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione HTML Academy?

Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. SVG inline a confronto con img e object
  2. Forme SVG di base: rect circle path
  3. viewBox SVG e ridimensionamento responsive
  4. Animare SVG con CSS e SMIL
← Torna a HTML Academy