Croatia has closed seven of its eight road border crossings with Serbia following a huge influx of migrants.