Come impostare la massima altezza o larghezza per:
$ img_attributes = 'height = 100 width = 100'. 'Alt = "'. $ Prodotto [ 'product_name']. '"';
Come impostare la massima altezza o larghezza per:
$ img_attributes = 'height = 100 width = 100'. 'Alt = "'. $ Prodotto [ 'product_name']. '"';
Bene, ci sono le proprietà max-height
e max-width
CSS, non è vero? Funzionano in tutti i principali browser tranne IE 6 e IE 7.
Ciao Pekka, non l'ho ancora testato, ma può funzionare? $ img_attributes = 'max-height = 100 max-width = 100'. 'Alt = "'. $ Prodotto [ 'product_name']. '"'; – Chris
No, devi aggiungere uno 'stile':' style = 'max-height: 100px; max-width: 100px '' –
Affinché ciò funzioni, non è necessario impostare una larghezza o un'altezza sul tag img stesso. – Staysee
Si consiglia di consultare questa risposta per informazioni generali: Proportional image resize.
Se si desidera ridimensionare un'immagine senza utilizzare il lato server, suggerisco all'utente Javascript. Ecco un tutorial.
In breve si dispone di una funzione JavaScript che restituisce il nuovo Larghezza e Altezza:
function scaleSize(maxW, maxH, currW, currH){
var ratio = currH/currW;
if(currW >= maxW){
currW = maxW;
currH = currW * ratio;
} else >if(currH >= maxH){
currH = maxH;
currW = currH/ratio;
}
return [currW, currH];
}
Con questa funzione è possibile impostare la larghezza e l'altezza dell'immagine:
img.width = newW;
img.height = newH;
Ma, il migliore il modo sarebbe farlo sul lato server. Ciò impedirà di avere un effetto strano sul lato client.
Il seguente stile farà sì che tutte le immagini che utilizzano la classe css "MaxSized" abbiano un'altezza massima di 100 px e una larghezza massima di 100 px. Se un'immagine è più piccola, non sarà allungata.
<style>
IMG.MaxSized
{
max-width: 100px;
max-height: 100px;
}
</style>
Come già detto da Pekka, dovrete avere un XHTML 1.0 DTD Strict in modo che questo lavorare in versioni moderne di IE, ma io personalmente credo che questo è l'approccio adeguato.
è se l'immagine è più grande sia in larghezza che in altezza, ma non quadrata. –
Avrai una specie di loop allora? – Chris
Non importa. Se si desidera limitare l'altezza o la larghezza, è possibile con gli stili max-height e max-width. Se l'immagine è più grande verticalmente, sarà limitata all'altezza massima specificata e adattata in scala. Lo stesso vale per la larghezza. La scala non cambia. –
Come la risposta in alto dice, è possibile utilizzare max-height
o max-width
proprietà CSS. Ma queste proprietà non si comportano allo stesso modo. Per mantenere il rapporto dell'immagine, devi impostare altezza e larghezza al 100%, quindi impostare max-width
. Se imposti max-height
il rapporto non viene mantenuto.
Quindi:
<img src="image.png" style="height: 100%; width: 100%; max-width: 400px" alt=" "/>
vuol mantenere il rapporto, ma
<img src="image.png" style="height: 100%; width: 100%; max-height: 400px" alt=" "/>
non lo fa. Questo perché (per quanto ho capito) HTML prima imposta la larghezza e poi l'altezza. Quindi nel secondo caso la larghezza è impostata al 100% ma l'altezza è limitata, il che potrebbe causare una distorsione dell'immagine. Nel primo caso, la larghezza viene impostata con un limite massimo e l'altezza viene regolata di conseguenza, preservando quindi le dimensioni dell'immagine.
Stai parlando di PHP o HTML? In HTML è possibile impostare solo l'altezza e non menzionare la larghezza. Se in PHP hai bisogno di una funzione come AlbertEins – MindStalker