Ну во-первых fr это не статично, а динамично. И 100fr в контексте вашего примера - это не верно. В контексте вашего примера должно быть
grid-template-columns: 1fr;
, что задает одну колонку. Если вам нужно 100 колонок то это будет так
grid-template-columns: repeat(100, 1fr);
. fr=фракция, то есть часть grid контейнера.
Ну а что касается авто переноса, то код будет такой (при условии что минимальная ширина колонки например 150px. подставьте ваше значение)
.block-grid {
display: grid;
grid-template-columns: repeat(auto-fit,minmax(150px, 1fr));
}
Разные размеры задаются путем назначения начальной и конечной колонки/строки расположения.
Например:
.grid__item {
grid-column: 1/3;
}
В этом случае блок к которому вы обращаетесь будет занимать две колонки