Non credo sia possibile con i CSS da soli.
Io lo farei appoggiandomi a JS.
1. carichi le immagini:
var immagini = new Array();
immagini[0] = new Image();
immagini[0].src = "immagine1.jpg";
immagini[1] = new Image();
immagini[1].src = ...;
...
2. per ogni immagine ricavi le dimensioni reali e poi le scali:
codice:
var w,h,r,w1,h1,pos; // definizioni variabili globali
var rapp = 128/96; //rapporto ideale
for (var i=0; i<immagini.length; i++) {
w = immagini[i].width;
h = immagini[i].height;
r = w/h; // rapporto dimensioni
if(r < rapp) { // caso altezza maggiore
h1 = 96;
w1 = Math.round(r/h1);
} else { // caso larghezza maggiore
w1 = 128;
h1 = Math.round(r*w1);
}
pos = document.getElementById('ID_OGGETTO_DOVE_SCRIVERE')
pos.style.width = w1;
pos.style.height = h1;
pos.src = immagini[i].src;
}
Questo loop va inserito in una funzione da richiamare DOPO aver definito i vari tag <img id='ID_OGGETTO_DOVE_SCRIVERE'>