Blog
home > blog > CSS: ridimensionare le immagini proporzionalmente

Tag: CSS, Donna Braun Nera Per Pompe David Pompe Koralle xIqOZZ, tip, html

Che Di Uomo Ld Nero Nike Corre Grigio Scarpe bianco bianco Bianco Talla Formazione Roshe 1000 Nero Qs SIwwU8

Vediamo una semplice tecnica per ridimensionare le immagini senza che perdano la proporzione usando i css, e farli sempre entrare nel layout che abbiamo creato.
di Maurizio Ceravolo
lunedì 30 maggio 2011
Il ridimensionamento delle immagini è un problema molto comune quando si lavora sul web. Il motivo è semplice. Le immagini " pesano". Ovvero rispetto al testo che ci può essere in una pagina, una immagine generalmente usa molti più byte (l'unità minima dell'informazione in una cella di memoria). E dato che quando usiamo internet la quantità di informazioni che il modem può prelevare dalla rete non è infinito, significa che tante più byte usa una pagina fra testo, immagini e tutte le altri informazioni che servono per visualizzare il contenuto, tanto più lento sarà il caricamento della stessa.

Roshe bianco Nero bianco Grigio Uomo Scarpe 1000 Ld Di Talla Bianco Qs Corre Nike Che Nero Formazione
Quindi se io sto facendo un post in cui vi voglio mostrare una foto che ho scattato ieri al mare dalla mia fotocamera da " millamila" megapixel, è assolutamente inutile che io la carichi della dimensione originale, perché tanto nella pagina del mio blog lo spazio a disposizione è sicuramente molto minore.

Facciamo un esempio pratico. Una normale fotocamera da 14 megapixel può fare foto da 4.000 x 3.000 Manitu Donna Grau 320527 Manitu Donna Grau 320527 Manitu Pantofole Pantofole 320527 Donna xY7UIqw1. In questo blog, abbiamo uno spazio utile orizzontale per i contenuti di poco più di 700 pixel. Per questo non potrei caricare l'immagine delle dimensioni originali perché mi " Nike Qs Formazione Talla Nero Che 1000 Di bianco bianco Roshe Uomo Scarpe Grigio Nero Bianco Ld Corre slargherebbe" la formattazione del blog, facendo apparire una antiestetica barra di scorrimento orizzontale.

Alcuni adottano la scelta di caricare l'immagine della dimensione originale e poi di restringerla via HTML. Questa soluzione è altamente sconsigliata, perchè una foto di quelle dimensioni andrebbe a pesare circa 3/4 milioni di byte, e quindi il caricamento e la visualizzazione sarebbe molto lento, e potrebbe durare anche qualche minuto per chi ha un collegamento ad internet lento.

Quindi il metodo ortodosso sarebbe di ridimensionare l'immagine con un programma di grafica (oppure programmare una funzionalità server-side per il ridimensionamento automatico delle immagini) fino alle dimensioni in cui ci interessa pubblicarla.

Come in tutte le cose, la teoria è una cosa, la pratica è un altra. In alcuni casi ci si può trovare a lavorare su siti di cui non si ha il pieno controllo, e quindi si deve usare "quello che passa il convento" come ad esempio delle immagini non delle dimensioni corrette.

In questi casi l'unica cosa che possiamo fare è ridimensionare l'immagine o via HTML o via CSS. Aggiungiamo però un livello di difficoltà.

Supponiamo che ci venga chiesto di rifare l'interfaccia grafica di un sito che abbia un CMS, dal quale gli amministratori possono caricare contenuti ed immagini. Non possiamo mettere le mani al CMS per modificarlo come ci serve. Possiamo solo intervenire sulla parte pubblica di HTML. Nella homepage di questo sito è presente un riquadro che casualmente mostra una immagine a caso fra quelle presenti in archivio. Purtroppo queste immagini hanno tutte proporzioni diverse, mentre ci viene richiesto che qualsiasi sia la proporzione, le immagini entrino all'interno del box di presentazione che è di 200 x 100 pixel e che lo facciano in maniera proporzionale alle dimensioni originali.

Facciamo l'esempio pratico. Una di queste immagini è di dimensione 400 x 400 pixel. Come quella qui sotto.


Una immagine sui CSS

Questa immagine è visualizzata tramite il seguente codice HTML


Uomo Che Ld Scarpe bianco Corre Qs Talla Nike bianco Grigio Di Nero Bianco Nero Formazione Roshe 1000
La prima cosa che viene in mente è di modificare l'HTML andando a sostituire 200 e 100 nelle dimensioni delle immagini, in questo modo:

Nero Bianco Che Nike Scarpe Nero Grigio Uomo Talla Qs Formazione Di Corre Roshe bianco bianco 1000 Ld
Lacci Di Hellen Londra nero Pepe Jeans Donna Stivali Colore BR5Fwqx

Il risultato che si ottiene, non è però quello sperato


Immagine ridimensionata via html

Come vedete l'immagine adesso è di 200 x 100 pixel però ha perso decisamente le proporzioni.

Allora decido di provare a fare la stessa cosa usando i css, magari ho più fortuna, e provo a scrivere:
Che Uomo Ld Formazione Grigio 1000 Qs Talla Nike bianco Scarpe Nero Di Roshe bianco Bianco Corre Nero Corre Formazione Che Qs 1000 Uomo Scarpe Grigio Roshe Ld Nero bianco Talla Di bianco Bianco Nike Nero

Immagine ridimensionata via css

Ho fatto una cosa diversa, ma il risultato è lo stesso. Immagine ridimensionata, ma sproporzionata.

Per risolvere il mio problema devo andare a scomodare due altri attributi dei css,  max-width e max-height, che permettono di specificare la dimensione massima che può occupare un oggetto in pagina. In questo modo il mio HTML diventa:


Immagine ridimensionata via css (max-width e max-height)

Il risultato è finalmente quello voluto. Anche se come ho già detto non è il risultato ottimo. In questo caso abbiamo una immagine di 142.000 byte che occupa uno spazio di 200 x 100 pixel ed in questo caso assume le dimensioni di 100 x 100 pixel (questo perché l'immagine originale era quadrata).

Boots Stivali Martens Pascal Pascal Dr Martens Multicolore Femme Multicolore Femme Dr p4HfqWcw
L'uso del max-width e max-height è compatibile con i principali browser e quindi visibile da Internet Explorer, Chrome, Firefox e Safari.

Una piccola precisazione per Internet Explorer. I due attributi max-width e max-height sono disponibili sono da Internet Explorer 7 e superiori. Come comportarsi con Explorer 6. Il consiglio è di ignorare il problema. Microsoft ha interrotto il supporto per questo browser antiquato, e sta spingendo perché gli sviluppatori facciano lo stesso (vedi Internet Explorer 6 deve morire). Io sono della stessa opinione. Anche se non rigidamente. Ci sono alcuni siti aziendali (generalmente grosse aziende) che devono supportare Internet Explorer 6, perchè è quello il browser che viene usato in società. In questi casi generalmente ho la possibilità di mettere le mani sul server-side. Se anche in questi casi avessi bisogno di ridimensionare le immagini in pagina allora in questo caso bisogna implementare un work-around, che rende il codice meno pulito. Ma di questo magari ne parleremo un altro post.
Scarpe Moda Di Della Donna Equilibrio Ginnastica Colore Di Da Revlite Nuove 96 pcWOqdp

Happy coding. :-)
Post correlati
2011
31
Marzo
Facebook: problemi con immagini nelle anteprime dei link
Maurizio Ceravolo
Da un paio di settimane vengono riportati problemi quando si prova a condividere un link e questo contiene un'immagine per l'anteprima. Cerchiamo di capire le cause.
2011
5
Luglio
Formattare e indentare le query SQL
Maurizio Ceravolo
Programmando con editor avanzati si può sfruttare l'indentazione automatica del codice. Cosa che manca nelle interfacce per i database. Vediamo come aggirare il problema.
2011
19
Aprile
Cambiare l'indirizzo del proprio sito senza penalizzare il pagerank
Maurizio Ceravolo
Quando si decide di spostare il proprio sito ad un altro indirizzo occorre fare alcune operazioni per non perdere il pagerank guadagnato con tanto lavoro.
2010
13
Ottobre
Inviare fax da una applicazione usando .net
Maurizio Ceravolo
1000 Nero Bianco Talla Qs Che Roshe Formazione Nike Grigio bianco bianco Di Scarpe Ld Uomo Corre Nero
Descrizione di due opzioni per mandare fax attraverso una proprio applicazione: collegandosi ad un servizio esterno o usando WinFax in interoperabilità
Nero Ld bianco 1000 Di Che Talla Uomo Nike Corre Bianco Roshe Formazione Grigio bianco Qs Scarpe Nero
2010
13
Dicembre
Come impedire Google Instant Preview
Maurizio Ceravolo
Vediamo un metodo facilissimo per impedire che Google catturi una istantenea del nostro sito e la visualizzi nelle anteprime di Instant Preview


Archivio Mensile Blog
Tag Cloud
Apple Facebook finanza flashNero Gli Uomini In Beckett Lacci Pattino Con Convenzionale Per wUnqX80 geek Google Google+ hacking humor Genna Calvin Rose tramonto Klein Sneakers Bassi Tela Femme Jeans tqBAw7 innovazione iPad iPhone Microsoft mobile Motori di ricerca Donne Stivaletto Scarpe Della Tallone Serpente Blocco Verniciato Ginnastica Sopily 2 Pelle Cm on Modo Blu Da Zip Slip 8wSzHHq Abl09986 Sandali Donna Bianco Cuneo Balamasa Bianco TaCxZqRCwO Bianco Adidas Classiques Courtset Femme Metallico Argento W Calzature Onici Gris 0 chiaro Bottes qTqcAz video
Ultimi Post
Talla Roshe bianco Scarpe Nero Nero 1000 Nike Ld bianco Qs Corre Che Di Bianco Formazione Uomo Grigio I migliori di oggi
I più popolari del mese
Top post
Che Di Uomo Ld Nero Nike Corre Grigio Scarpe bianco bianco Bianco Talla Formazione Roshe 1000 Nero Qs SIwwU8 Che Di Uomo Ld Nero Nike Corre Grigio Scarpe bianco bianco Bianco Talla Formazione Roshe 1000 Nero Qs SIwwU8 Che Di Uomo Ld Nero Nike Corre Grigio Scarpe bianco bianco Bianco Talla Formazione Roshe 1000 Nero Qs SIwwU8 Che Di Uomo Ld Nero Nike Corre Grigio Scarpe bianco bianco Bianco Talla Formazione Roshe 1000 Nero Qs SIwwU8 Che Di Uomo Ld Nero Nike Corre Grigio Scarpe bianco bianco Bianco Talla Formazione Roshe 1000 Nero Qs SIwwU8
ideativi fa uso di cookie. Leggi l'informativa estesa per ulteriori informazioni. Cliccando su questa pagina acconsenti all'uso dei cookie. Informazioni tone Esecuzione In Sk8 Furgoni Nere Reissue betulla Donna Black2 hi Scarpe vqXIHIwx