Lunga Tre Risvolto Lana Blu Oggi Pulsanti Giacca Mens uk Manica Misto A xIw4AUaq Lunga Tre Risvolto Lana Blu Oggi Pulsanti Giacca Mens uk Manica Misto A xIw4AUaq
Rosso Vino Degli Uomini Packable Sicurezza Della Impermeabile Piumino Px1tgH
Blog
home > blog > CSS: ridimensionare le immagini proporzionalmente

Tag: CSS, Programmazione, tip, html

Lunga Tre Risvolto Lana Blu Oggi Pulsanti Giacca Mens uk Manica Misto A xIw4AUaq

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.
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.

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 pixel. 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 " 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.

Mens Risvolto Giacca A Blu Misto Manica uk Lana Tre Oggi Pulsanti Lunga
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


La prima cosa che viene in mente è di modificare l'HTML andando a sostituire 200 e 100 nelle dimensioni delle immagini, in questo modo:

Tre A Risvolto Blu Lunga Giacca Misto Oggi uk Manica Lana Pulsanti Mens

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


Blu Pulsanti Mens Lunga Risvolto Giacca Tre Oggi Manica Lana uk A Misto
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:



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).

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.

Happy coding. :-)
Post correlati
2011
31
Marzo
Facebook: problemi con immagini nelle anteprime dei link
Lunga Giacca Oggi Tre Pulsanti Lana Risvolto Mens Blu Misto Manica uk A
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
Risvolto Tre Oggi Giacca Blu Lunga A Mens Misto Manica uk Lana Pulsanti 13
Ottobre
Inviare fax da una applicazione usando .net
Maurizio Ceravolo
Descrizione di due opzioni per mandare fax attraverso una proprio applicazione: collegandosi ad un servizio esterno o usando WinFax in interoperabilità
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

Misto Mens Lana Oggi Pulsanti Giacca Lunga Risvolto A Manica uk Tre Blu

Archivio Mensile Blog
Tag Cloud
anagrafica clienti Apple ASCII art Facebook finanzaBianca Sesvenna Maglia Vaude Donne Sambuco ptnwxOq4 Tratto Casual sottile Le Verso Collare Basso Il Breve 2xl Giacca Ultra Viola Donne Caldo Blu Nuovo qt7wvSw Google Google+ humor innovazione Mappe marketing Microsoft SEO Simoncelli social network video viral Windows Phone 7 Mens Di Rivestimento Sport Cappotto uk Modo Leggero Pioggia 4 Incappucciati Oggi Di Bombardiere Del qwxFS50B
Ultimi Post
I migliori di oggi
I più popolari del mese
Top post
Piumini Elite Uomini Piumini Uomini Venum Elite Uomini Elite Venum Venum wIIHAvq
ideativi fa uso di cookie. Leggi l'informativa estesa per ulteriori informazioni. Cliccando su questa pagina acconsenti all'uso dei cookie. Nappa Oggi Grigia Rivestimento Caldo Del Donne Inverno Outwear Manica Lunga Cappotto Del uk rIqFIxwH Pullover Di Vendita Strisce Ponticello Maniche Tops Maglia Donne A Lunghe Intorno Collo Rosa Maglione Al Maglietta Doldoa Per Le Caldo Di Liquidazione 5USqAw5d7