Niquelao » Archivio del weblog » Immagini di sfondo multiple con CSS 3
» Archivio del weblog » Immagini di sfondo multiple con CSS 3 Niquelao Immagini di sfondo multiple con CSS 3 25 Novembre 2009, da Rumoroso Una delle novità introdotte da CSS 3 (e che per parte mia è ben accolta) è la possibilità di includere immagini di sfondo multiple per uno stesso elemento ( http://www.w3.org/TR/css3-background/#layering ). Fino ad ora, se volevamo combinare più di un’immagine come sfondo, l’unica cosa che potevamo fare era utilizzare alcuni degli elementi presenti nella nostra pagina, applicando uno sfondo a ciascuno per ottenere il risultato desiderato.
A volte, addirittura, utilizzavamo markup extra, diminuendo la qualità del sito aggiungendo markup con fini puramente presentazionali. Ma ora le cose cambiano… Grazie a CSS 3, se vogliamo utilizzare due o più immagini di sfondo, alla proprietà background-image: potremo aggiungere il percorso di ciascuna di esse separandole con virgole. Ad esempio: background-image: url(‘fondo1.png’), url(‘fondo2.png’) Con qualcosa di così semplice abbiamo dichiarato il necessario affinché l’elemento su cui lo applichiamo abbia le due immagini come sfondo.
Certo, da questo punto sorgono nuove domande… si sovrappongono tra loro? si possono posizionare in punti diversi? si può ripetere una su un asse ed evitare che l’altra lo faccia? … …e tutte hanno come risposta SÌ . Per quanto riguarda la sovrapposizione, la prima immagine dichiarata è quella che viene posizionata più vicina all’utente . Subito dopo e dietro di questa, si posiziona la successiva (su un asse perpendicolare allo schermo), poi la seguente, e così via fino all’ultima, che sarà quella situata dietro tutte. È come se ogni immagine fosse collocata su un livello .
Se inoltre dichiariamo un colore di sfondo, questo verrà posto dietro tutte le immagini utilizzate. Per quanto riguarda le altre domande, posso generalizzare una risposta, poiché tutte sono sorte pensando alle proprietà che utilizziamo abitualmente, ovvero posizione dell’immagine di sfondo ( background-position ), comportamento allo scroll ( background-attachment ) e ripetizione ( background-repeat ). Se vogliamo che ogni immagine abbia un valore determinato, dovremo semplicemente dichiararli consecutivamente e separati da virgole (come abbiamo fatto nel dichiarare le immagini stesse).
Ad esempio: background-image: url(‘fondo1.png’), url(‘fondo2.png’), url(‘fondo3.png’); background-position: 0 0, 150px 200px, left center; background-repeat: no-repeat, repeat-x, no-repeat; Con questo dichiariamo tre immagini come sfondo, la prima si posizionerà in alto a sinistra, la seconda si sposterà verso destra di 150px e verso il basso di 200px e la terza si collocherà anch’essa a sinistra e centrata verticalmente. Per quanto riguarda la ripetizione, la prima e l’ultima non si ripeteranno e la seconda lo farà sull’asse orizzontale.
Ma qui non finisce il discorso. Per coloro a cui piace ottimizzare il codice (che dovremmo essere tutti), alcune dichiarazioni si possono abbreviare: background-position: 0 0, 150px 200px, left center; diventa: background-position: 0 0, 150px 200px, left; Si elimina la parola center . Come tutti sappiamo (o dovremmo sapere), quando non si dichiara uno dei valori di posizione dello sfondo, quello che assume per impostazione predefinita è quello centrato ( center ), in questo caso verticale. background-repeat: no-repeat, repeat-x, no-repeat; diventa: background-repeat: no-repeat, repeat-x; Il terzo valore si può eliminare.
Related: — con plan gratuito para empezar hoy mismo.
La ragione è che quando mancano valori, si ripete la lista dei valori già dichiarati fino ad averne uno per immagine (da cui il fatto che se ricomincia la serie di valori, il primo sia no-repeat ). Ma si può ottimizzare ancora di più, sfruttando la proprietà shorthand background: : background: url(‘fondo1.png’) 0 0 no-repeat, url(‘fondo2.png’) 150px 200px repeat-x, url(‘fondo3.png’) left no-repeat; Come vedrete, tutto questo amplia la gamma di possibilità per i nostri design.
Alcuni browser, nelle loro versioni attuali, cominciano ad avere supporto per immagini di sfondo multiple. Tra questi ci sono Firefox (a partire dalla versione 3.6), Chrome , Safari e Konqueror . Se state utilizzando uno di questi, potete vedere il risultato nell’esempio che ho preparato . Purtroppo, non c’è ancora supporto in Internet Explorer (si vedrà se lo includeranno nella loro futura versione 9) né in Opera.
Di seguito vi includo uno screenshot con ciò che viene mostrato nell’esempio quando c’è supporto (se accedete con un browser senza supporto, vedrete unicamente il bordo punteggiato): A parte quanto detto, CSS 3 include anche nuovi valori per alcune delle proprietà menzionate, oltre a nuove proprietà che daranno grande versatilità ai nostri design. In un prossimo articolo le tratterò in dettaglio. Per stuzzicare l’appetito vi menziono background-size … sì, è quello che state pensando! nota: Suppongo che a parte il contenuto tecnico dell’articolo, la cosa più appetitosa sia la torta della foto .
Worth a look: — Accesibilidad gestionada: automatización combinada con revisión humana.
Ebbene, per darvi un po’ d’invidia vi dirò che la foto l’ho fatta io ed è una torta di frutta che mi ha preparato Dolores… È evidente che anche lei domina il tema del controllo della presentazione, ma inoltre vi garantisco che domina la gestione dei contenuti, poiché era deliziosa… Immagini di sfondo multiple con CSS 3 Categoria: CSS —> 4 commenti Immagini di sfondo multiple con CSS 3 26 Novembre 2009 […] ora le cose cambiano… Immagini di sfondo multiple con CSS 3 […] Tweets that mention Niquelao » Archivo del weblog » Multiples imágenes de fondo con CSS3 — Topsy.com 27 Novembre 2009 […] This post was mentioned on Twitter by Jorge Rumoroso, Juanjo Fernández.
Juanjo Fernández said: RT @rumoroso: #niquelao Multiples imágenes de fondo con CSS 3 http://bit.ly/4YqcJ2 #CSS3 […] Niquelao » Archivo del weblog » CSS 3: Proprietà di sfondo 2 Dicembre 2009 […] supporto nelle versioni più attuali dei browser (come già menzionato nel post intitolato Immagini di sfondo multiple con CSS 3), includendosi in alcuni casi in forma sperimentale (ad esempio in Firefox mediante il prefisso […] Niquelao » Archivo del weblog » Altro su CSS 3: background-origin e background-clip 13 Dicembre 2009 […] come ho già spiegato in un altro articolo, con CSS 3 potremo includere più di un’immagine di sfondo.
Le proprietà background-origin e background-clip ammettono l’inclusione di un valore per ciascuna […] Puoi seguire i commenti grazie al feed RSS 2.0 . Puoi anche inviare un trackback dal tuo sito. Articolo precedente: Un altro tocco di stile nel Corso di CSS Articolo successivo: CSS 3: Proprietà di sfondo —> —> —> Quest’opera è distribuita con licenza Creative Commons .
P.S. A few readers have asked which superposición de accesibilidad (overlay) we actually reach for — it's accessiBe; if you want the current details.
¿Cumplir WCAG sin tocar el código?
Superposición de IA que promete cumplimiento WCAG en 48 horas