Sai ero riuscito a trovare un modo di risolvere la situazione del tutto, cioè non usare piu le CSS expression...
Facendo così:
Prima di mandare a video l'immagine,
prendi la sua url e la fai passare da un bel getimagesize.
In questo modo ti tiri fuori la width e la height REALI dell'immagine prima ancora di mandarla a video...
Quindi tramite un semplice giochetto di proporzioni sistemavo i valori prima di mandare l'output con il tag <IMG>.. Insomma una cosa del genere:
Codice PHP:
list($width, $height) = getimagesize($url);
if ($width > $dimensioni_max) $width_nuova = $dimensioni_max;
else $width_nuova = $width;
$height = ($width_nuova * $height) / $width;
$stringa = '<img src="'.$url.'" alt="" style="float:'.$float.'; margin:0 0.5em 0.5em 0.5em; height:'.$height.'px; width:'.$width_nuova.'px;"/>';
Queste righe (e altre che non ho messo perche non ce n'era motivo, le ho messe dentro una funzione a cui passavo:
$dimensioni_max(50,80, 400, quello che vuoi!),
$float (none, left, right), e
$stringa (che conteneva la url)
Però non capisco perche la funzione va alla grande in locale, ma non va quando lo carico su altervista....
Potrai pensare: deve essere la url sbagliata e quindi getimagesize non trova l'immagine, ma mi sembra strano dato che l'<IMG SRC=url alla fine invece l'immagine la trova e la rappresenta...
l'URL è passata nella sua forma completa cioè http://blablabla/blabla.jpg
Non so se mi sono spiegato è un po un casino..