Wie Crash2001 schon erwähnte verwende Media-Queries für Geräte und Auflösung Unterschiede.
Eine optimale Darstellung erreichst du mit Pure CSS durch "Flex-Box" bei modernen Browser, für älteren würde Ich JavaScript verwenden da meine Erfahrung mit min-, max- width/height ehe schlecht ist.
http://the-echoplex.net/flexyboxes/ hier lass ich mir meistens den CSS-Code für Flex generieren.