W CSS nie ma opcji automatycznej do tego, co chcesz (przynajmniej ja nie znam), możesz spróbować z margin: 0, auto, ale przy float:left trzeba już na sztywno ustawiać marginesy i padding i koniec, tak samo rozmiar kafelek musi być taki, aby się mieściły ładnie w kontenerze.
Co do responsywności strony to polecam zapoznać się z zapytaniami medialnymi (media queries) lub z Bootstrapem. Ustawić wtedy, że przy takiej szerokości strony (czyli takiej a takiej wielkości ekranu) w rzędzie będzie 5 kafelek, przy mniejszej wielkości ekranu 4, itp.