Un div, se non esprimi le dimensioni, prende in larghezza tutto lo spazio disponibile, si adatta allargandosi solo quando i contenuti hanno dimensioni precise che eccedono la larghezza della finestra: se in esso inserisco un paragrafo o un'immagine o qualsiasi elemento largo 3000 pixel, la larghezza di quell'elemento sarà la larghezza della riga e il div si adatterà anche se la finestra ha dimensioni inferiori. Non si adatterà invece a un elemento contenuto che sia meno largo.
Quindi le dimensioni percentuali dovrai specificarle nel tuo div, ad esso potrai assegnare un valore pari a 30% o quello che vuoi mentre per l'immagine specificherai un valore pari al 100% (che sarà il 100% del 30% del div) per la larghezza e per l'altezza un un height:auto